Закрытие многих окон gnuplot -persist

Чтобы проверить, присутствует ли файл file.txt в каталоге, переданном в качестве первого аргумента скрипту или функции, используйте

[ -e "$1/file.txt" ]

Не забудьте заключить в двойные кавычки замену переменных .

Это успешно, если файл существует, и неудачно, если файл не существует. Ошибка включает случай, когда файл существует, но недоступен, например потому что у вас нет разрешения на просмотр каталога.

Обратите внимание, что в сценариях оболочки и когда дело доходит до статусов завершения процесса, 0 означает успех, а 1 (или больше, до 125) означает сбой. См. Какие значения возврата / выхода я могу использовать в функциях / сценариях bash? и Код выхода по умолчанию при завершении процесса? для получения дополнительных сведений. Поэтому, если вы хотите проверить, существует ли файл, ваш сценарий или функция должны возвращать 0, если файл существует, и 1 в противном случае. Ваш фрагмент делает обратное: он проверяет, не существует ли файл.

 if [ -e "$1/file.txt" ]; then
    exit 0
 else
    exit 1
 fi

- это просто более сложный способ записи

[ -e "$1/file.txt" ]
exit

( exit без аргумента статуса использует статус ранее выполненной команды). И если это в конце сценария, то exit является избыточным.

Если вы действительно хотите проверить, что файл не существует, вы должны инвертировать команду с помощью ! оператор оболочки:

! [ -e "$1/file.txt" ]

или ! test / [ оператор:

[ ! -e "$1/file.txt" ]

2
19.05.2016, 01:13
0 ответов

Теги

Похожие вопросы