Инвертировать оператор if с трубами

Вам нужно увеличить следующие значения в файле php.ini и перезапустить WAMP Server

memory_limit
post_max_size
upload_max_filesize

Убедитесь, что значение upload_max_filesize меньше, чем post_max_size.

Hop this помогает .

3
задан codeforester 30 March 2019 в 22:33
поделиться

1 ответ

В bash ! означает отрицание. Таким образом, не изменяя ничего, вы можете использовать:

if ! ps ax | grep reminder.py | grep -v grep
then
  python /Users/Jesse/Dropbox/reminder/reminder.py &
fi

Но вы, вероятно, хотите исключить вывод grep, поэтому используйте -q для тишины:

if ! ps ax | grep reminder.py | grep -q -v grep
then
  python /Users/Jesse/Dropbox/reminder/reminder.py &
fi

Конвейер может быть упрощенным, если мы просто более умны в отношении регулярного выражения, которое мы даем grep (Hat tip: Gordon Davisson ):

if ! ps ax | grep -q "reminder[.]py"
then
  python /Users/Jesse/Dropbox/reminder/reminder.py &
fi

Вышеприведенное работает, потому что reminder[.]py не не соответствует reminder[.]py, но соответствует reminder.py. Вы можете проверить это в командной строке:

$ echo 'reminder[.]py' | grep 'reminder[.]py'
$ echo 'reminder.py' | grep 'reminder[.]py'
reminder.py

Как видите, только вторая команда показывает совпадение.

Далее, если он доступен в вашей системе, pgrep устраняет необходимость в конвейере:

if ! pgrep -f reminder.py >/dev/null
then
  python /Users/Jesse/Dropbox/reminder/reminder.py &
fi

Для тех, кто предпочитает один лайнер, вышеприведенное упрощает:

pgrep -f reminder.py >/dev/null || python /Users/Jesse/Dropbox/reminder/reminder.py &
[ 1124] В приведенном выше || является логическим или. Команда, следующая за ||, выполняется только в том случае, если команда, предшествующая ей, не выполнена (выходит из ненулевого кода возврата).

0
ответ дан John1024 30 March 2019 в 22:33
поделиться
Другие вопросы по тегам:

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