Назад | Перейти на главную страницу

как я могу написать оператор if в unix AIX

я хочу написать if заявление в следующем виде: -

if [$x == "string"]

then

echo "ok"

fi

но появилась следующая ошибка

./bash_if.sh[6]: [0: not found.

[ после него нужен пробел, потому что [ на самом деле команда (/usr/bin/[ в Linux, хотя у bash есть встроенная версия, которую он использует). Без пробела bash преобразует $ x в значение, а затем пытается запустить команду [0, как если бы вы набрали lssomedir или echohi.

Кроме того, если вы тестируете строки, вы должны заключить в кавычки $ x:

if [ "$x" == "string" ]

В противном случае, если $ x пуст или не задан, вы получите сообщение об ошибке, потому что без кавычек после "расширения" $ x это будет выглядеть как

if [ == "string" ]