Ich habe das folgende Szenario und möchte wissen, wie ich es erreichen kann
Führen Sie das Shell-Skript aus, das zwei Befehle enthält, die nacheinander ausgeführt werden sollten. Das Problem besteht jedoch darin, dass beim Ausführen des ersten Befehls die Eingabeaufforderung zu dem Befehl wechselt, den ich ausgeführt habe, und der zweite Befehl nie ausgeführt wird.
Beispiel:
#!/bin/bash
ade useview testview
ade refreshview -latest
Ausgang ~
Ausgabe:
[ ~/cron_scripts]$ ./test.sh
ade:[ testview ] $
Wenn also der Befehl 1 eine Ansicht eingibt, verliert das Shell-Skript die Kontrolle und führt den zweiten Befehl nie aus
Antwort1
Seit dem ersten Befehl
ade useview testview
startet eine interaktive Sitzung, diese Sitzung muss beendet werden, bevor der nächste Befehl im Skript ausgeführt wird.
Sobald es jedoch endet, das Skriptwerde rennender zweite Befehl. Es hat also nicht vollständig „die Kontrolle verloren“, sondern wartet darauf, dass die interaktive Sitzung des ersten Befehls beendet wird.
Antwort2
ade useview -exec /full/path/of/the/file/subshellcommands.sh view_name