Доброго времени суток!
За время знакомства с shell (довольно-таки непродолжительное время стоит отметить) накопилось несколько вопросов по bash.
1. Возможно-ли в операторе if заклинить процесс else, чтоб тот возвращал скрипт на исходную позицию? Звучит, наверное коряво, потому добавлю пример:
echo "Type 'yes' to continue, or 'no' to abort"
read _VAR
if [ "$_VAR" = "yes" ]
then
echo "Processing..."
# Commands
elif [ "$_VAR" = "no" ]
then
echo "Aborting process..."
else
echo "Type 'yes' to continue, or 'no' to abort"
fi
С if и elif проблем не возникает, а вот else просто выведет строку и закроет скрипт. Приходится копировать всё условие в else ещё раз. На три попытки меня ещё хватит, но не до бесконечности-же копировать? Очень прошу подсказать альтернативу процессу, или иной выход.
2. Возможно-ли заменить имеющееся условие на более простое:
echo "Type 'y(Yes)' to continue, or 'n(No)' to abort"
read _VAR
if [ "$_VAR" = "y" -o "$_VAR" = "yes" -o "$_VAR" = "Yes" -o "$_VAR" = "YES" ]
then
echo "Processing..."
# Commands
elif [ "$_VAR" = "n" -o "$_VAR" = "no" -o "$_VAR" = "No" -o "$_VAR" = "NO" ]
then
echo "Aborting process.."
else
echo "Type 'y(Yes)' to continue, or 'n(No)' to abort"
fi
Для того, чтоб "научить" скрипт понимать регистр приходится описывать вручную все возможные варианты. Есть-ли опция воспринимать переменную вне зависимости от регистра?
3. Каким образом можно эмулировать действие скрипта в целях проверки работоспособности?
Пару дней назад попала в ситуёвину: ночь на дворе, а я сижу и переписываю информацию с убитого винта. Скорость передачи при этом даже до 500 kb/s не доходила! Перспектива провести всю ночь в спасениях файлов не прельщала абсолютно )), потому решила написать простенький скрипт, который сам создаст папку, сольёт нужные директории, подчистит за собой и вырубит комп.
Утром просыпаюсь - комп урчит на меня)) Оказалось в самом конце забыла кавычку закрыть. Думаю знакомая многим ситуация, особенно когда пишешь что-то в два часа ночи с одним открытым глазом

Заранее спасибо!