Как сделать чтобы shell не проверял переменную ввиде директории на существование$var =/usr/foo/foo/ # это директория другой машины
if $var; then
.....
else
......
fiпри запуске мне скрипт выводит что
./myscript: /usr/foo/foo/: not found
как от этого избавится ?
>Как сделать чтобы shell не проверял переменную ввиде директории на существованиеВ вашем примере он её и не проверяет на существование, он думает, что это программа и пытается её запустить, насколько понимаю.
>при запуске мне скрипт выводит что
>./myscript: /usr/foo/foo/: not found
>как от этого избавится ?Вам нужно просто проверить, что перменная не пуста? Тогда можно так:
if [ -z "$var" ]; then
...
Вот так: var=/usr/foo/foo/Из-за наличия $ у вас выполняется шеллом подстановка значения var.
Там ничего нет... в результате преобразования шелл получает строку /usr/foo/foo/
которую интерпретирует как вызов команды... он прав а вы нет :)))