Что означает-f в bash
Я смотрел, как использовать runit запустить gunicorn. Я смотрел на файл bash и я не знаю, что -f $PID
и в
#!/bin/sh
GUNICORN=/usr/local/bin/gunicorn
ROOT=/path/to/project
PID=/var/run/gunicorn.pid
APP=main:application
if [ -f $PID ]; then rm $PID; fi
cd $ROOT
exec $GUNICORN -c $ROOT/gunicorn.conf.py --pid=$PID $APP
Google бесполезен в этом случае, потому что поиск флагов бесполезен
5 ответов
Google бесполезен в этом случае, потому что поиск флагов бесполезен
к счастью,Bash Справочное Руководство доступен онлайн, по адресу http://www.gnu.org/software/bash/manual/bashref.html. Это первый хит, Когда Вы Google для "bash manual". §6.4 "Условные Выражения Bash" говорит:
-f file
True, если существует и является обычный файл.
- f-file-обычный файл (не каталог или файл устройства)
проверьте это для всех операторов тестирования файлов: http://tldp.org/LDP/abs/html/fto.html
на [
Это то же самое, что и команда test
что позволяет проверить определенные вещи. Попробуй!--2--> чтобы узнать, что такое флаги. Вещи, чтобы быть осторожным с помещениями -[
нужно пространство после него.
[ -f "$var" ]
проверяет, является ли $var
существующий файл (обычный файл). Символическая ссылка тоже проходит этот тест.