C'est probablement une erreur stupide que j'ai commise quelque part mais je n'arrive pas à comprendre ce qui se passe. En espérant que je puisse trouver de l'aide ici.Bloquez l'invocation de tic-tac pour toujours
J'ai un script callee.sh
qui attend une variable optionnelle $1,$2,$3
etc ... et il fait un tas d'écho dans le script (donc, plusieurs lignes de sortie) Je ne veux que la dernière ligne comme résultat. Les autres lignes ne sont que des rapports d'état de débogage.
lorsque vous essayez d'affecter le résultat à une variable comme celui-ci
result=`./callee.sh | tail -n 1`
Il fonctionne parfaitement
Cependant, si elle prend le paramètre
result=`./callee.sh param1 param2 param2 | tail -n 1`
Le code bloquerait pour toujours, entrer jamais callee.sh
Juste pour comparsion j'ai essayé de courir
result=`./callee.sh`
, cela fonctionne, mais toutes les lignes sont append à une ligne (c'est très bien)
mais en cours d'exécution
result=`./callee.sh param1 param2 param2`
aussi jamais accroché. N'a pas entré callee.sh
Qu'est-ce que j'ai fait de mal? Que devrais-je faire à la place?
Combien de temps faut-il pour exécuter la commande './callee.sh param1 param2 param2' (sans les guillemets)? – Leon
merci de souligner la faute de frappe. Correction de – user1763590
Si '. / Callee.sh' se termine mais que' ./callee.sh param1 param2 param2' se bloque pour toujours, alors votre problème se trouve dans 'callee.sh'. – John1024