Только начал разбираться с написанием скриптов в linux и сразу получил проблему, которую не могу решить. Пробую выполнить простейший скрипт: Code: #!/bin/sh # Параметр передается как $1, но заново присваивается переменной DIRECTORY DIRECTORY=$1 # Является ли строка пустой ? if [ "$DIRECTORY" = "" ] then echo "Usage :`basename $0` directory to create" >&2 exit 1 fi if [ -d $DIRECTORY ] then : # Не чего не выполняет else echo "The directory does exist" echo -n "Создать сейчас? [y..n] :" read ANS if [ "$ANS" = "y" ] || [ "$ANS" = "Y" ] then echo "Создать сейчас!" # Создайте католог и перешлите все данные вывода в /dev/null mkdir $DIRECTORY >/dev/null 2>&1 if [ $? != 0 ]; then echo "Ошибка создания директории $DIRECTORY" >&2 exit 1 fi else : # Ничего не выполняет fi на что мне выводиться следующее сообщение: Почему так?
if [ "$DIRECTORY" = "" ]; then echo "Usage :`basename $0` directory to create" >&2 then : # Не чего не выполняет После if точка с запятой, пустой then нельзя (двоеточие тоже тут нельзя)
Можешь пожалуйста написать как правильно должен выглядеть этот скрипт, сделал все что ты сказал все равно не получается запустить, просто еще учусь много чего не ясно.
PHP: #!/bin/sh # Параметр передается как $1, но заново присваивается переменной DIRECTORY DIRECTORY=$1 # Является ли строка пустой ? if [ "$DIRECTORY" = "" ]; then echo "Usage :`basename $0` directory to create" >&2 exit 1 fi if [ -d $DIRECTORY ]; then : # Не чего не выполняет else echo "The directory does exist" echo -n "Создать сейчас? [y..n] :" read ANS if [ "$ANS" = "y" ] || [ "$ANS" = "Y" ]; then echo "Создать сейчас!" # Создайте католог и перешлите все данные вывода в /dev/null mkdir $DIRECTORY >/dev/null 2>&1 if [ $? != 0 ]; then echo "Ошибка создания директории $DIRECTORY" >&2 exit 1 fi else : # Ничего не выполняет fi fi