#!/bin/bash
CLIENT=~/sgf-binary/vd
PREFIX="VD:"
PWD=$1
MYPATH=$2
# controllo se si e' scelto di spostarsi in VD: e basta
if ((${#MYPATH} > 2)) && [ $MYPATH == "VD:" ]; then
if ((${#PWD} > 2)) && [ "${PWD:0:3}" == "$PREFIX" ]; then
MYPATH=$PWD
else
MYPATH="VD:/"
fi
fi
# controllo se ho i due punti all'inizio
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ] \
&& [ ${MYPATH:3:2} == ".." ]; then
# controllo se posso togliere da PWD una entry
# conto il numero di '/' in PWD, se e' > 2 allora posso toglierla!
temp=$(echo $PWD | sed s/[a-Z:]//g)
if (("${#temp}" >= "2")); then
# tolgo l'ultima entry da PWD
PWD=$(echo $PWD | sed s/[a-Z]*[/]$//g)
# quindi tolgo da MYPATH i primi 6 caratteri (VD:../)
MYPATH=("VD:"${MYPATH:6})
if [ $MYPATH == "VD:" ]; then
return
fi
fi
fi
# se in MYPATH c'e' il prefisso controllo se ho un path assoluto o no..
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ]; then
# se trovo il prefisso "VD:" e non e' presente subito
# dopo a questo una "/"
# significa che sto trattando un path su disco virtuale non assoluto
if [ "${PWD:0:3}" == "$PREFIX" ] && [ "${MYPATH:3:1}" != "/" ];then
# concateno a PWD i caratteri di MYPATH esclusi i primi 3
# caratteri (il prefisso)
MYPATH=($PWD${MYPATH:3})
fi
fi
# controllo se c'e' il prefisso "VD:" all'inizio del MYPATH
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ];then
# richiamo la ls del VFS per verificare l'esistenza della cartella
$CLIENT ls ${MYPATH:3} &> /dev/null
# 255 e' -1 (ossia l'exit status che indica errore) nella bash
if [ $? != 255 ];then
# elimino la barra finale (se esiste) dalla stringa che contiene
# la mia working directory, per evitare problemi con le
# concatenazioni che effettuo negli altri script
PWD=($(echo $MYPATH | sed -e s/[/]*$//)"/")
else
# se la ls nel VFS non e' andata a buon fine restituisco errore
echo "No such file or directory"
fi
else
# builtin mi serve per eseguire il comando cd originale di bash
builtin cd $2
fi
#!/bin/bash
CLIENT=~/sgf-binary/vd
PREFIX="VD:"
EXECUTE=$(which cp)
PWD=$1
MYPATH1=$2
MYPATH2=$3
# per non modificare PWD nel caso di un ".."
temp=$PWD
check_path_in_fs() {
# segmento di codice per convertire path relativi del FS in path
# assoluti: mi sposto dentro alla directory in cui e' contenuto
# il file indicato dal path relativo (dirname mi prende la parte
# di directory del path relativo)
pushd $(eval "dirname ${CHECKFORME}") &> /dev/null
cd $(eval "dirname ${CHECKFORME}")
# a questo punto pwd mi restituisce la parte di directory del
# path assoluto
DIRECTORY_PATH=$(pwd)
# mi ricavo con basename il nome del file (basename elimina la
# parte di directory di un path)
FILENAME_PATH=$(eval "basename ${CHECKFORME}")
# ora basta concatenare la parte di directory con il nome del file
CHECKFORME=$DIRECTORY_PATH/$FILENAME_PATH
popd &> /dev/null
}
check_path_in_vfs() {
# gestione dei ".."
# controllo se ho i due punti all'inizio
if ((${#CHECKFORME} > 3)) && [ "${CHECKFORME:0:3}" == "$PREFIX" ] \
&& [ ${CHECKFORME:3:2} == ".." ]; then
# controllo se posso togliere da PWD una entry
# conto il numero di '/' in PWD, se e' > 2 allora posso toglierla!
temp=$(echo $PWD | sed s/[a-Z:]//g)
if (("${#temp}" >= "2")); then
# tolgo l'ultima entry da PWD
temp=$(echo $PWD | sed s/[a-Z]*[/]$//g)
# quindi tolgo da CHECKFORME i primi 6 caratteri (VD:../)
if [ $CHECKFORME == "VD:../" ]; then
CHECKFORME=$temp
else
CHECKFORME=("VD:"${CHECKFORME:6})
fi
fi
fi
if ((${#CHECKFORME} > 2)) && [ $CHECKFORME == "VD:" ]; then
CHECKFORME=$PWD
fi
# se in CHECKFORME c'e' il prefisso allora controllo se ho un
# path assoluto o no..
if ((${#CHECKFORME} > 3)) && [ "${CHECKFORME:0:3}" == "$PREFIX" ]; \
then
# se trovo il prefisso "VD:" e non e' presente subito dopo a
# questo una "/" significa che sto trattando un CHECKFORME su
# disco virtuale non assoluto
if [ "${temp:0:3}" == "$PREFIX" ] && \
[ "${CHECKFORME:3:1}" != "/" ];then
CHECKFORME=($temp${CHECKFORME:3})
fi
fi
}
# controllo se si tratta di una cp con entrambi gli argomenti
# verso il file system reale
if ((${#MYPATH1} > 3)) && [ "${MYPATH1:0:3}" != "$PREFIX" ] && \
((${#MYPATH2} > 3)) && [ "${MYPATH2:0:3}" != "$PREFIX" ]; then
# mi trovo nel filesystem reale
# se non ho trovato il prefisso eseguo il comando di bash con tutti
# gli args eccetto il primo
temp_input=""
for ((a=2; a < ($#+1); a++))
do
temp=("\"$"$a"\"")
temp_input=$temp_input$temp
temp_input=$temp_input" "
done
# valuto l'espressione con eval
temp_eval_input="$EXECUTE "$temp_input
eval $temp_eval_input
return
fi
# rendo assoluti entrambi i path (se non lo sono)
# controllo se sono nel file system reale o virtuale
if ((${#temp} > 3)) && [ "${temp:0:3}" == "$PREFIX" ]; then
# sono nel VFS quindi il path del filesystem reale deve essere
# passato assoluto mentre quello del VFS puo' essere relativo
if ((${#MYPATH1} > 2)) && [ "${MYPATH1:0:3}" == "$PREFIX" ] && \
((${#MYPATH2} > 3)) && [ "${MYPATH2:0:3}" != "$PREFIX" ]; then
CHECKFORME=$MYPATH1
check_path_in_vfs
$CLIENT cp_vd2fs "${CHECKFORME:3}" $MYPATH2
return
elif ((${#MYPATH2} > 2)) && [ "${MYPATH2:0:3}" == "$PREFIX" ] && \
((${#MYPATH1} > 3)) && [ "${MYPATH1:0:3}" != "$PREFIX" ]; then
CHECKFORME=$MYPATH2
check_path_in_vfs
$CLIENT cp_fs2vd $MYPATH1 "${CHECKFORME:3}"
return
else
CHECKFORME=$MYPATH1
check_path_in_vfs
MYPATH1=$CHECKFORME
CHECKFORME=$MYPATH2
check_path_in_vfs
MYPATH2=$CHECKFORME
$CLIENT cp_vd2vd "${MYPATH1:3}" "${MYPATH2:3}"
return
fi
else
# sono nel file system reale
if ((${#MYPATH1} > 3)) && [ "${MYPATH1:0:3}" == "$PREFIX" ] && \
((${#MYPATH2} > 3)) && [ "${MYPATH2:0:3}" != "$PREFIX" ]; then
CHECKFORME=$MYPATH2
check_path_in_fs
$CLIENT cp_vd2fs ${MYPATH1:3} $CHECKFORME
return
elif ((${#MYPATH2} > 3)) && [ "${MYPATH2:0:3}" == "$PREFIX" ] && \
((${#MYPATH1} > 3)) && [ "${MYPATH1:0:3}" != "$PREFIX" ]; then
CHECKFORME=$MYPATH1
check_path_in_fs
$CLIENT cp_fs2vd $CHECKFORME "${MYPATH2:3}"
return
else
$CLIENT cp_vd2vd "${MYPATH1:3}" "${MYPATH2:3}"
return
fi
fi
#!/bin/bash
CLIENT=~/sgf-binary/vd
PREFIX="VD:"
EXECUTE=$(which rm)
PWD=$1
MYPATH=$2
# per non modificare PWD nel caso di un ".."
temp=$PWD
# se MYPATH e' uguale a zero controllo se sono in un path del VFS
if ((${#MYPATH} == 0)); then
if ((${#PWD} > 3)) && [ "${PWD:0:3}" == "$PREFIX" ]; then
# se sono in un path del VFS allora imposto MYPATH
MYPATH=$PWD
fi
fi
# controllo se ho i due punti all'inizio
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ] \
&& [ ${MYPATH:3:2} == ".." ]; then
# controllo se posso togliere da PWD una entry
# conto il numero di '/' in PWD, se e' > 2 allora posso toglierla!
temp=$(echo $PWD | sed s/[a-Z:]//g)
if (("${#temp}" >= "2")); then
# tolgo l'ultima entry da PWD
temp=$(echo $PWD | sed s/[a-Z]*[/]$//g)
# quindi tolgo da MYPATH i primi 6 caratteri (VD:../)
MYPATH=("VD:"${MYPATH:6})
fi
fi
if ((${#MYPATH} > 2)) && [ $MYPATH == "VD:" ]; then
$CLIENT del ${temp:3}
return
fi
# se in MYPATH c'e' il prefisso allora controllo se ho un path
# assoluto o no..
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ]; then
# se trovo il prefisso "VD:" e non e' presente subito dopo a
# questo una "/" significa che sto trattando un MYPATH su disco
# virtuale non assoluto
if [ "${temp:0:3}" == "$PREFIX" ] && [ "${MYPATH:3:1}" != "/" ];then
MYPATH=($temp${MYPATH:3})
fi
fi
# controllo se c'e' il prefisso "VD:" all'inizio del MYPATH
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ];then
# richiamo il comando del VFS per verificare l'esistenza
# della cartella
$CLIENT del "${MYPATH:3}"
else
# se non ho trovato il prefisso eseguo il comando di bash con tutti
# gli args eccetto il primo
temp_input=""
for ((a=2; a <= ($#+1); a++))
do
temp=("$"$a)
temp_input=$temp_input$temp
temp_input=$temp_input" "
done
# valuto l'espressione con eval
temp_eval_input="$EXECUTE "$temp_input
eval $temp_eval_input
fi
#!/bin/bash
DEFAULT="\033[0;00m"
BOLD="\033[0;01m"
function exec_command {
if eval $1; then # lo esegue
echo " OK " # se l'exit status e' 0 allora stampa OK
fi;
}
function display_message {
echo -e "$BOLD$1$DEFAULT" # stampa un messaggio in bold
}
display_message "Creating binary directory: $HOME/sgf-binary"
exec_command "mkdir $HOME/sgf-binary"
display_message "Copying bins and scripts"
exec_command "cp -R vd server script $HOME/sgf-binary"
display_message "Adding aliases to .bashrc"
echo "source $HOME/sgf-binary/script/set-alias.sh" >> $HOME/.bashrc
echo
display_message "Installation succeeded"
display_message "Restart the shell to use aliases in .bashrc"
#!/bin/bash
CLIENT=~/sgf-binary/vd
PREFIX="VD:"
EXECUTE=$(which ln)
PWD=$1
MYPATH1=$2
MYPATH2=$3
# per non modificare PWD nel caso di un ".."
temp=$PWD
check_path_in_vfs() {
# gestione dei ".."
# controllo se ho i due punti all'inizio
if ((${#CHECKFORME} > 3)) && [ "${CHECKFORME:0:3}" == "$PREFIX" ] \
&& [ ${CHECKFORME:3:2} == ".." ]; then
# controllo se posso togliere da PWD una entry
# conto il numero di '/' in PWD, se e' > 2 allora posso toglierla!
temp=$(echo $PWD | sed s/[a-Z:]//g)
if (("${#temp}" >= "2")); then
# tolgo l'ultima entry da PWD
temp=$(echo $PWD | sed s/[a-Z]*[/]$//g)
# quindi tolgo da CHECKFORME i primi 6 caratteri (VD:../)
if [ $CHECKFORME == "VD:../" ]; then
CHECKFORME=$temp
else
CHECKFORME=("VD:"${CHECKFORME:6})
fi
fi
fi
if ((${#CHECKFORME} > 2)) && [ $CHECKFORME == "VD:" ]; then
CHECKFORME=$PWD
fi
# se in CHECKFORME c'e' il prefisso allora controllo se ho un path
# assoluto o no..
if ((${#CHECKFORME} > 3)) && [ "${CHECKFORME:0:3}" == "$PREFIX" ]; \
then
# se trovo il prefisso "VD:" e non e' presente subito dopo a
# questo una "/" significa che sto trattando un CHECKFORME su
# disco virtuale non assoluto
if [ "${temp:0:3}" == "$PREFIX" ] && \
[ "${CHECKFORME:3:1}" != "/" ];then
CHECKFORME=($temp${CHECKFORME:3})
fi
fi
}
# controllo se mi trovo nel filesystem virtuale
if ((${#MYPATH1} > 3)) && [ "${MYPATH1:0:3}" == "$PREFIX" ] \
&& ((${#MYPATH2} > 3)) && [ "${MYPATH2:0:3}" == "$PREFIX" ]; then
# eseguo la ln nel VFS
CHECKFORME=$MYPATH1
check_path_in_vfs
MYPATH1=$CHECKFORME
CHECKFORME=$MYPATH2
check_path_in_vfs
MYPATH2=$CHECKFORME
$CLIENT ln "${MYPATH1:3}" "${MYPATH2:3}"
return
else
# eseguo la ln nel filesystem reale
# mi trovo nel filesystem reale
# se non ho trovato il prefisso eseguo il comando di bash con tutti
# gli args eccetto il primo
temp_input=""
for ((a=2; a <= ($#+1); a++))
do
temp=("$"$a)
temp_input=$temp_input$temp
temp_input=$temp_input" "
done
# valuto l'espressione con eval
temp_eval_input="$EXECUTE "$temp_input
eval $temp_eval_input
return
fi
#!/bin/bash
CLIENT=~/sgf-binary/vd
PREFIX="VD:"
EXECUTE=$(which ls)
PWD=$1
MYPATH=$2
# per non modificare PWD nel caso di un ".."
temp=$PWD
# se MYPATH e' uguale a zero controllo se sono in un path del VFS
if ((${#MYPATH} == 0)); then
if ((${#PWD} > 3)) && [ "${PWD:0:3}" == "$PREFIX" ]; then
# se sono in un path del VFS allora devo fare ls di quello
MYPATH=$PWD
fi
fi
# controllo se ho i due punti all'inizio
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ] \
&& [ ${MYPATH:3:2} == ".." ]; then
# controllo se posso togliere da PWD una entry
# conto il numero di '/' in PWD, se e' > 2 allora posso toglierla!
temp=$(echo $PWD | sed s/[a-Z:]//g)
if (("${#temp}" >= "2")); then
# tolgo l'ultima entry da PWD
temp=$(echo $PWD | sed s/[a-Z]*[/]$//g)
# quindi tolgo da MYPATH i primi 6 caratteri (VD:../)
MYPATH=("VD:"${MYPATH:6})
fi
fi
if ((${#MYPATH} > 2)) && [ $MYPATH == "VD:" ]; then
$CLIENT ls ${temp:3}
return
fi
# se in MYPATH c'e' il prefisso allora controllo se ho un path
# assoluto o no..
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ]; then
# se trovo il prefisso "VD:" e non e' presente subito dopo a questo
# una "/" significa che sto trattando un MYPATH su disco virtuale
# non assoluto
if [ "${temp:0:3}" == "$PREFIX" ] && [ "${MYPATH:3:1}" != "/" ];then
MYPATH=($temp${MYPATH:3})
fi
fi
# controllo se c'e' il prefisso "VD:" all'inizio del MYPATH
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ];then
# richiamo la ls del VFS per verificare l'esistenza della cartella
$CLIENT ls "${MYPATH:3}"
else
# se non ho trovato il prefisso eseguo la ls di bash con tutti gli
# args eccetto il primo
temp_input=""
for ((a=2; a <= ($#+1); a++))
do
temp=("$"$a)
temp_input=$temp_input$temp
temp_input=$temp_input" "
done
# valuto l'espressione con eval
temp_eval_input="$EXECUTE "$temp_input
eval $temp_eval_input
fi
#!/bin/bash
CLIENT=~/sgf-binary/vd
PREFIX="VD:"
EXECUTE=$(which mkdir)
PWD=$1
MYPATH=$2
# per non modificare PWD nel caso di un ".."
temp=$PWD
# se MYPATH e' uguale a zero controllo se sono in un path del VFS
if ((${#MYPATH} == 0)); then
if ((${#PWD} > 3)) && [ "${PWD:0:3}" == "$PREFIX" ]; then
# se sono in un path del VFS allora imposto MYPATH
MYPATH=$PWD
fi
fi
# controllo se ho i due punti all'inizio
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ] \
&& [ ${MYPATH:3:2} == ".." ]; then
# controllo se posso togliere da PWD una entry
# conto il numero di '/' in PWD, se e' > 2 allora posso toglierla!
temp=$(echo $PWD | sed s/[a-Z:]//g)
if (("${#temp}" >= "2")); then
# tolgo l'ultima entry da PWD
temp=$(echo $PWD | sed s/[a-Z]*[/]$//g)
# quindi tolgo da MYPATH i primi 6 caratteri (VD:../)
MYPATH=("VD:"${MYPATH:6})
fi
fi
if ((${#MYPATH} > 2)) && [ $MYPATH == "VD:" ]; then
$CLIENT mkdir ${temp:3}
return
fi
# se in MYPATH c'e' il prefisso allora controllo se ho un path
# assoluto o no..
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ]; then
# se trovo il prefisso "VD:" e non e' presente subito dopo a
# questo una "/" significa che sto trattando un MYPATH su disco
# virtuale non assoluto
if [ "${temp:0:3}" == "$PREFIX" ] && [ "${MYPATH:3:1}" != "/" ];then
MYPATH=($temp${MYPATH:3})
fi
fi
# controllo se c'e' il prefisso "VD:" all'inizio del MYPATH
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ];then
# richiamo il comando del VFS per verificare l'esistenza della
# cartella
$CLIENT mkdir "${MYPATH:3}"
else
# se non ho trovato il prefisso eseguo il comando di bash con tutti
# gli args eccetto il primo
temp_input=""
for ((a=2; a <= ($#+1); a++))
do
temp=("$"$a)
temp_input=$temp_input$temp
temp_input=$temp_input" "
done
# valuto l'espressione con eval
temp_eval_input="$EXECUTE "$temp_input
eval $temp_eval_input
fi
#!/bin/bash
CLIENT=~/sgf-binary/vd
PREFIX="VD:"
PWD=$1
MYPATH=$2
# per non modificare PWD nel caso di un ".."
temp=$PWD
# se MYPATH e' uguale a zero controllo se sono in un path del VFS
if ((${#MYPATH} == 0)); then
if ((${#PWD} > 3)) && [ "${PWD:0:3}" == "$PREFIX" ]; then
# se sono in un path del VFS allora imposto MYPATH
MYPATH=$PWD
fi
fi
# controllo se ho i due punti all'inizio
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ] \
&& [ ${MYPATH:3:2} == ".." ]; then
# controllo se posso togliere da PWD una entry
# conto il numero di '/' in PWD, se e' > 2 allora posso toglierla!
temp=$(echo $PWD | sed s/[a-Z:]//g)
if (("${#temp}" >= "2")); then
# tolgo l'ultima entry da PWD
temp=$(echo $PWD | sed s/[a-Z]*[/]$//g)
# quindi tolgo da MYPATH i primi 6 caratteri (VD:../)
MYPATH=("VD:"${MYPATH:6})
fi
fi
if ((${#MYPATH} > 2)) && [ $MYPATH == "VD:" ]; then
$CLIENT purge ${temp:3}
return
fi
# se in MYPATH c'e' il prefisso allora controllo se ho un path
# assoluto o no..
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ]; then
# se trovo il prefisso "VD:" e non e' presente subito dopo a
# questo una "/" significa che sto trattando un MYPATH su disco
# virtuale non assoluto
if [ "${temp:0:3}" == "$PREFIX" ] && [ "${MYPATH:3:1}" != "/" ];then
MYPATH=($temp${MYPATH:3})
fi
fi
# controllo se c'e' il prefisso "VD:" all'inizio del MYPATH
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ];then
# richiamo il comando
$CLIENT purge "${MYPATH:3}"
else
echo "Cannot purge files from the OS file system"
fi
#!/bin/bash alias pwd='echo $PWD' alias cd='source ~/sgf-binary/script/cd.sh $PWD' alias ls='source ~/sgf-binary/script/ls.sh $PWD' alias mkdir='source ~/sgf-binary/script/mkdir.sh $PWD' alias del='source ~/sgf-binary/script/del.sh $PWD' alias rm='source ~/sgf-binary/script/del.sh $PWD' alias undel='source ~/sgf-binary/script/undel.sh $PWD' alias purge='source ~/sgf-binary/script/purge.sh $PWD' alias cp='source ~/sgf-binary/script/cp.sh $PWD' alias ln='source ~/sgf-binary/script/ln.sh $PWD' alias vd="~/sgf-binary/script/vd.sh" alias test-vfs='~/sgf-binary/script/final-test.sh'
#!/bin/bash
CLIENT=~/sgf-binary/vd
PREFIX="VD:"
PWD=$1
MYPATH=$2
# per non modificare PWD nel caso di un ".."
temp=$PWD
# se MYPATH e' uguale a zero controllo se sono in un path del VFS
if ((${#MYPATH} == 0)); then
if ((${#PWD} > 3)) && [ "${PWD:0:3}" == "$PREFIX" ]; then
# se sono in un path del VFS allora imposto MYPATH
MYPATH=$PWD
fi
fi
# controllo se ho i due punti all'inizio
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ] \
&& [ ${MYPATH:3:2} == ".." ]; then
# controllo se posso togliere da PWD una entry
# conto il numero di '/' in PWD, se e' > 2 allora posso toglierla!
temp=$(echo $PWD | sed s/[a-Z:]//g)
if (("${#temp}" >= "2")); then
# tolgo l'ultima entry da PWD
temp=$(echo $PWD | sed s/[a-Z]*[/]$//g)
# quindi tolgo da MYPATH i primi 6 caratteri (VD:../)
MYPATH=("VD:"${MYPATH:6})
fi
fi
if ((${#MYPATH} > 2)) && [ $MYPATH == "VD:" ]; then
$CLIENT undel ${temp:3}
return
fi
# se in MYPATH c'e' il prefisso allora controllo se ho un path
# assoluto o no..
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ]; then
# se trovo il prefisso "VD:" e non e' presente subito dopo a
# questo una "/" significa che sto trattando un MYPATH su disco
# virtuale non assoluto
if [ "${temp:0:3}" == "$PREFIX" ] && [ "${MYPATH:3:1}" != "/" ];then
MYPATH=($temp${MYPATH:3})
fi
fi
# controllo se c'e' il prefisso "VD:" all'inizio del MYPATH
if ((${#MYPATH} > 3)) && [ "${MYPATH:0:3}" == "$PREFIX" ];then
# richiamo il comando
$CLIENT undel "${MYPATH:3}"
else
echo "Cannot restore files from the OS file system"
fi
#!/bin/bash
BASHRC=$HOME/.bashrc
DEFAULT="\033[0;00m"
BOLD="\033[0;01m"
function exec_command {
if eval $1; then # lo esegue
echo " OK " # se l'exit status e' 0 allora stampa OK
fi;
}
function display_message {
echo -e "$BOLD$1$DEFAULT" # stampa un messaggio in bold
}
display_message "Restoring original shell environment"
sed '/set-alias.sh/d' $BASHRC > /tmp/bashrc.temp
cp /tmp/bashrc.temp $BASHRC
rm /tmp/bashrc.temp
display_message "Removing binaries and scripts"
exec_command "rm -Rf $HOME/sgf-binary"
display_message "Remove complete!"
display_message "Restart the shell to use aliases in .bashrc"
#!/bin/bash
# questo script si occupa di lanciare/terminare il gestore
SERVER=~/sgf-binary/server
SOCKET=/tmp/vfs.sock
BIN_PATH=~/sgf-binary/
SCRIPT_PATH=~/sgf-binary/script
VD_start() {
if PIDSERVER=$(pidof server); then
echo "Server already running: $PIDSERVER"
exit 1
fi
if [ -e "$SERVER" ]; then
echo -n "Starting VFS server:"
if $SERVER; then
echo " [ OK ]"
else
echo " [ FAILED ]"
fi
else
echo "$SERVER not found"
exit 1
fi
}
VD_stop() {
PIDOFSERVER=$(pidof server)
if [ "$PIDOFSERVER" == "" ]; then
echo "Server already stopped"
exit 1
fi
echo -n "Stop VFS server:"
if killall -INT server; then
echo " [ OK ]"
else
echo " [ FAILED ]"
fi
# rimuovo il socket
if [ -e $SOCKET ]; then
echo -n "Deleting socket file:"
if rm $SOCKET; then
echo " [ OK ]"
else
echo " [ FAILED ]"
fi
fi
}
case $1 in
start )
VD_start
;;
stop )
VD_stop
;;
* )
echo "usage: vd {start|stop}"
exit 1
;;
esac