Do tej pory bylem przyzwyczajony do petli z PHP, ktore uwazam za najbardziej intuicyjne. Niestety w skrypcie bash za kazdrym razem zwracany jest blad:
Kod: Zaznacz cały
./script: line 64: syntax error near unexpected token `fi'
./script: line 64: `fi'
Kod: Zaznacz cały
if [ $n == 1 ] # conditional statement, if stdin returns 1 then
then
DIR=~/Desktop/Pictures/$DATE # builds up variable eg. ~/Desktop/Pictures/YYYY-MM-DD_hh:mm:ss
mkdir ${DIR} # creates directory from variable above
for (( i=0; i<${PICLEN}; i++ )); # loops as many times as array length
do #
FILE=~/Desktop/${PIC[$i]} # builds up variable eg, ~/Desktop/*.jpeg depending on array element
mv ${FILE} ${DIR} # moves each desktop file from pattern to backup directory
done
elif [ $n == 2]
then
DIR=~/Desktop/Video/$DATE
mkdir ${DIR}
for (( i=0; i<${VIDLEN}; i++ ));
do
FILE=~/Desktop/${VID[$i]}
mv ${FILE} ${DIR}
done
elif [ $n == 3]
then
DIR=~/Desktop/Textfiles/$DATE
mkdir ${DIR}
for (( i=0; i<${TXTLEN}; i++ ));
do
FILE=~/Desktop/${TXT[$i]}
mv ${FILE} ${DIR}
done
elif [ $n == 4]
then
DIR=~/Desktop/Music/$DATE
mkdir ${DIR}
for (( i=0; i<${AUDLEN}; $i++ ));
do
FILE=~/Desktop/${AUD[$i]}
mv ${FILE} ${DIR}
done
elif [$n == 5 ]
then
#not tested
#tar -cvf backup_${DATE} ~/Desktop/*
fi