Скрипт bash: использование -e при проверке файлов - PullRequest
0 голосов
/ 30 апреля 2020

Я изучал bash скриптинг и пробовал разные вещи, чтобы понять условия bash и вставить переменную для проверки файла. Насколько я понимаю, '-e' проверяет наличие файла или каталога.

Да, я знаю, что вы не должны выполнять проверку var с проверкой файлов, но я экспериментировал. Когда я читаю условие, это выглядит так: «если $ foo существует, тогда выведите« yes foo ». Но был удивлен, когда это было противоположно.

foo=true
if [ -e $foo ]
then
  echo "yes foo"
else
  echo "no foo $foo"
fi

выходы no foo true

Мой вопрос: почему это происходит?

1 Ответ

1 голос
/ 30 апреля 2020

Вы ищете файл с именем true. Этого файла нет, поэтому тест не пройден.

Если вы, например, сделаете свою первую строку foo = / etc / passwd, она должна (в системе unix) вывести «yes foo».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...