else를 사용하여 동적으로 스크립트를 생성하는 Shell_exec

else를 사용하여 동적으로 스크립트를 생성하는 Shell_exec

Shell_exec를 사용하여 동적으로 생성되어 PHP 변수에 저장되는 스크립트를 실행하려고 합니다. 지금까지의 스크립트는 다음과 같습니다.

{ curl -fsS --retry 3 https://hc-ping.com/same-unique-id-here ; \
echo "name.of.php.file.here STARTED for id # $state_id" ; \
php "/path/to/my.file.php" -i 2 -h prod 2>&1 | tee -a /path/to/log/files/my.file.log || \
curl -fsS --retry 3 https://hc-ping.com/same-unique-id-here/fail ; \
echo "name.of.php.file.here ENDED for id # $state_id with Exit Code $?" ; \
curl -fsS --retry 3 https://hc-ping.com/same-unique-id-here ; } 2>/dev/null >/dev/null &

내 첫 번째 문제는 마지막 줄만 실행하고 싶다는 것입니다

curl -fsS --retry 3 https://hc-ping.com/same-unique-id-here

만약에

php "/path/to/my.file.php" -i 2 -h prod 2>&1 | tee -a /path/to/log/files/my.file.log

성공했습니다. 이를 위해 스크립트를 어떻게 수정합니까?

두 번째 질문은 에코 끝에 종료 코드를 인쇄하는 방법입니까?

echo "name.of.php.file.here ENDED for id # $state_id with Exit Code $?"

답변1

이 문제에 대해 더 많은 상호 작용이 있기를 바랍니다. 나는 실행된 내용을 제어하기 위해 변수를 사용했습니다. 코드는 다음과 같습니다.

{ unset -v failcode ; failcode="0" ; curl -fsS --retry 3 https://hc-ping.com/same-unique-value ; \
echo "\n$(TZ="America/New_York" date +"%m-%d-%Y %H:%M:%S %Z") my.process.name.php STARTED for id # 2" ; \
php "/path/to/my/php/script.php" -i 2 -h lab || failcode="1" ; \
echo "\n$(TZ="America/New_York" date +"%m-%d-%Y %H:%M:%S %Z") my.process.name.php ENDED for id # 2 with Exit Code $failcode" ; \
[ "$failcode" == "1" ] && curl -fsS --retry 3 https://hc-ping.com/same-unique-value/fail ; \
[ "$failcode" == "1" ] && exit 1 ; \
curl -fsS --retry 3 https://hc-ping.com/same-unique-value ; } \
2>&1 | tee -a /path/to/my/log/file.log 2>/dev/null >/dev/null &

관련 정보