Pythonchik
Почетный гость
Здравствуйте! Помогите, пожалуйста, дописать скрипт, с помощью которого через аргументы при выполнении сценария можно вызывать определённые функции. Прикладываю уже написанный код. Когда пытаюсь запустить скрипт, например, ./script.sh -c txt<скопировать все файлы с расширение txt> copy<в созданную папку>, выдаёт ошибку.
Заранее спасибо)
Заранее спасибо)
Bash:
#!/bin/bash
function copy_file {
cp *$2* $3 #КОПИРОВАНИЕ
}
# result2=$( copy_file $1 $2 )
function arch {
tar -zcvf $2 $3 #АРХИВАЦИЯ
}
# result1=$( arch $2 $3 )
function repl_txt {
sed -i 's/'$3'/'$4'/gI' $2 #ЗАМЕНА ТЕКСТА
}
# result3=$( repl_txt $2 $3 $4 )
function del {
rmdir $2 && rm -rf $3 #УДАЛЕНИЕ
}
# result4=$( del $2 $3 )
function hash_txt {
while IFS= read -r line
do
if [[ $line != *"@"* ]]
then
echo "$line" | md5sum >> hash.txt #ХЭШ ПАРОЛЕЙ
else
echo "$line" >> hash.txt
fi
done < $2
}
# result5=$( hash_txt $2 )
function empty {
awk '{if(NF>0) print $0 > "lines.txt"}' $2 #ПУСТЫЕ СТРОКИ
}
# result6=$( empty $2 )
function info_user {
finger $2
echo ---------------------------------------------------------------------------------------
echo ---------------------------------------------------------------------------------------
curl wttr.in
# wget -O- -q wttr.in
}
# result7=$( info_user $2 )
while [ -n "$1" ]
do
case "$1" in
-ar) arch $2 $3 ;;
-c) copy_file $2 $3 ;;
-r) repl_txt $2 $3 $4 ;;
-d) del $2 $3 ;;
-h) hash_txt $2 ;;
-e) empty $2 ;;
-i) info_user $2 ;;
esac
shift
done
Последнее редактирование модератором: