ajout meilleur gestion symlink pour install
This commit is contained in:
50
install.sh
50
install.sh
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
cd $(dirname $0)
|
||||
|
||||
# COLORS
|
||||
source ./asides/color.sh
|
||||
@@ -14,9 +15,10 @@ mkdir -p ~/.vim/swapfiles
|
||||
# receive 1 argument : absolute path to config file
|
||||
function save_bak
|
||||
{
|
||||
file_to="$1"
|
||||
file_name="$(basename $1)"
|
||||
path_file_to="$(dirname $1)"
|
||||
local file_to="$1"
|
||||
local file_name="$(basename $1)"
|
||||
local path_file_to="$(dirname $1)"
|
||||
|
||||
number=0
|
||||
while [ -f $file_to.hubak$number ]
|
||||
do
|
||||
@@ -24,9 +26,9 @@ function save_bak
|
||||
done
|
||||
echo -en $YELLOW"in "
|
||||
echo -en $CYAN"\"$path_file_to/\""
|
||||
echo -en $YELLOW", mv "
|
||||
echo -en $YELLOW", saving "
|
||||
echo -en $CYAN"\"$file_name\""
|
||||
echo -en $YELLOW" to "
|
||||
echo -en $YELLOW" as "
|
||||
echo -en $CYAN"\"$file_name.hubak$number\""$ENDCO"\n"
|
||||
mv $file_to $file_to.hubak$number
|
||||
}
|
||||
@@ -34,18 +36,38 @@ function save_bak
|
||||
# receive 1 argument : absolute path to config file
|
||||
function install
|
||||
{
|
||||
file_to="$1"
|
||||
file_name="$(basename $1)"
|
||||
path_file_to="$(dirname $1)"
|
||||
if [ -f $file_to ]
|
||||
local file_to="$1"
|
||||
local file_name="$(basename $1)"
|
||||
local path_file_to="$(dirname $1)"
|
||||
|
||||
local create_sym=1
|
||||
|
||||
if [ -h $file_to ] && [ ! -e $file_to ]
|
||||
then
|
||||
echo -en $B_RED"$file_to is a broken symlink"$ENDCO"\n"
|
||||
save_bak $file_to
|
||||
elif [ -e $file_to ]
|
||||
then
|
||||
if [ ! "$(realpath "$file_to")" = "$HERE/config_files/$file_name" ]
|
||||
then
|
||||
echo -en $YELLOW"$file_to exist but is not the right file"$ENDCO"\n"
|
||||
save_bak $file_to
|
||||
else
|
||||
create_sym=0
|
||||
echo -en $YELLOW"$file_to is already the right file"$ENDCO"\n"
|
||||
fi
|
||||
else
|
||||
echo -en $YELLOW"$file_to doesn't exist"$ENDCO"\n"
|
||||
fi
|
||||
|
||||
if [ $create_sym -eq 1 ]
|
||||
then
|
||||
echo -en $YELLOW"create symlink of "
|
||||
echo -en $CYAN"\"$file_name\""
|
||||
echo -en $YELLOW" in "
|
||||
echo -en $CYAN"\"$path_file_to\""$ENDCO"\n"
|
||||
ln -s $HERE/$D_CONFIG_FILES/$file_name $file_to
|
||||
fi
|
||||
echo -en $YELLOW"create symlink of "
|
||||
echo -en $CYAN"\"$file_name\""
|
||||
echo -en $YELLOW" in "
|
||||
echo -en $CYAN"\"$path_file_to\""$ENDCO"\n"
|
||||
ln -s $HERE/$D_CONFIG_FILES/$file_name $file_to
|
||||
}
|
||||
|
||||
# argument : directory where the config file should go
|
||||
|
||||
Reference in New Issue
Block a user