Если вы работаете с Bash, вы можете проверить, существует ли файл в текущей директории или в какой-то другой с помощью команды test. В этой статье мы расскажем вам, как это сделать.
Наиболее удобным, является комбинации команды test и if.
Проверка наличия файла
Любой из примеров проверить существование файла
1 2 3 4 | FILE=/tmp/test.pid if test -f "$FILE"; then echo "$FILE exists" fi |
1 2 3 4 | FILE=/tmp/test.pid if [ -f "$FILE" ]; then echo "$FILE exists" fi |
1 2 3 4 | FILE=/tmp/test.pid if [[ -f "$FILE" ]]; then echo "$FILE exists." fi |
Если необходимо выполнить действия в зависимости от того есть файл или нет, подойдет следующий сценарий:
1 2 3 4 5 6 | FILE=/tmp/test.pid if [ -f "$FILE" ]; then echo "$FILE exists." else echo "$FILE does not exist" fi |
Так же возможно использование test без if
1 | test -f /tmp/test.pid && echo "/tmp/test.pid exists" |
Проверка отсутствия файла
выполнение действий только если файл отсутствует
1 2 3 4 | FILE=/tmp/test.pid if [ ! -f "$FILE" ]; then echo "$FILE does not exist" fi |
1 | test -f /tmp/test.pid || echo "/tmp/test.pid does not exist" |