У меня есть PID хранится в файле:Оценка Bash: [vs ||
echo 394 > pid_stored
Я проверяю, если ПИД-регулятор работает с:
kill -0 $(cat pid_stored) 2> /dev/null || echo "PID not running"
, который работает как шарм, но если я хочу сделать несколько действий в истинном или ложном случае, я думаю, мне нужна структура if if if. Но по какой-то причине я не могу понять, [или [[не оценивают таким же образом:
if [[ $(kill -0 $(cat pid_stored) 2> /dev/null) ]]
then echo "PID IS NOT RUNNING"
fi
не работает, он всегда оценивает как истинный. Потоки ошибок передаются с 2> на/dev/null, поскольку kill -0 оценивается как истинный, если pid существует или не работает
Спасибо!
Высокий , спасибо, любопытство: я должен отрицать выражение! Я полагаю, что это соотносится с || оператор? Если вы хотите исправить это в своем примере кода, если кто-то найдет этот ответ, было бы наоборот: if! kill -0 $ (/dev/null –
gletscher
уверен, что добавил к моему ответу. – anubhava
Я фактически запускаю сценарий как фоновый процесс с 'nohup', тогда выражение' $ (
gletscher