J'ai écrit un script shell checklick.sh
sur ma boîte CentOS avec le contenu suivant:
#!/bin/sh
#
# description: check link through rtmpdump
#
. /etc/rc.d/init.d/functions
DUMPUTIL=/usr/bin/rtmpdump
"$DUMPUTIL" -B 1 -r "$1" -o /tmp/rtmp-checker.log && echo_success || echo_failure
et exécuté par
./checklink.sh rtmp://tv2.globisoft.net/live/tv2
Maintenant, à partir de la sortie suivante:
J'ai besoin de savoir comment forcer la sortie du script lorsque le journal est imprimé, ERROR: RTMP_ReadPacket, failed to read RTMP packet header
car j'appelle le script depuis la exec
fonction native PHP et attend indéfiniment le code de sortie, mais le script ne renvoie pas le code de sortie.
exit 1
ou le code de sortie que vous voulez dansfunction echo_failure
?Réponses:
Pourquoi ne pas tester chaque ligne de la sortie de la commande?
Ce qui précède lit la sortie d'une commande donnée (dans ce cas, "cat testfile"), puis renvoie le résultat. Il recherche une ligne égale à "TEST" et se ferme s'il trouve une correspondance.
la source