Dies ist wahrscheinlich ein dummer Fehler, den ich irgendwo gemacht habe, aber ich kann einfach nicht herausfinden, was los ist. Hoffe ich kann hier Hilfe finden.Bash - Zurück Tick Invocation Blöcke für immer
Ich habe ein Skript callee.sh
, erwartet einige optionale Variable $1,$2,$3
etc ... und es tut eine Menge von Echo im Skript (also, mehrere Zeilen der Ausgabe) Ich möchte nur die letzte Zeile als Ergebnis. Die anderen Zeilen sind nur Debug-Statusberichte.
Sie versuchen, wann das Ergebnis einer Variablen wie diese
result=`./callee.sh | tail -n 1`
Es perfekt
Allerdings funktioniert zuweisen, wenn es Parameter nimmt
result=`./callee.sh param1 param2 param2 | tail -n 1`
Der Code würde für immer blockieren, nie eintritt callee.sh
Nur für Vergleich Ich habe versucht,
ausgeführtresult=`./callee.sh`
, Das funktioniert aber alle Zeilen einer Zeile anhängen (das ist in Ordnung)
aber
result=`./callee.sh param1 param2 param2`
hängt auch immer läuft. Niemals eingeben callee.sh
Was habe ich falsch gemacht? Was soll ich stattdessen tun?
Wie lange dauert der Befehl './callee.sh param1 parm22 param2' (ohne Backticks)? – Leon
danke für den Hinweis auf den Tippfehler. Behoben – user1763590
Wenn './Callee.sh' zum Abschluss läuft, aber' ./callee.sh param1 param2 param2 'für immer hängt, dann ist Ihr Problem in 'callee.sh'. – John1024