Jestem nowy w skryptowaniu powłoki Linuksa. Chcę napisać skrypt powłoki, który otworzy terminal z wieloma kartami; powinien uruchomić aplikację kliencką rtsp na każdej karcie.
W tym celu przeszedłem tutaj pytanie na tym forum i próbowałem napisać kod poniżej,
tab="--tab-with-profile=Default -e "
cmd="java RunRTSPClient"
for i in 1 2 3 4 5
do
#
foo="$foo $tab $cmd"
done
gnome-terminal $foo
exit 0
To działa i otwiera okno terminala z kartami, ale nagle się zamknie. Nie otrzymuję żadnych błędów.
źródło
cmd1 && cmd2
do ciągu poleceń, aby uruchomić wiele poleceń. Wydaje się, że działa tylko ten pierwszy. Czy robię coś rażąco nie tak?Wymyśliłem własną odpowiedź. Myślę, że jest to lepsze podejście, ponieważ:
...
,${}
,-e
, lub@
Zauważ, że
; $SHELL
na końcu każdego polecenia gnome-terminal jest to, co utrzymuje okno terminala otwarte. W przeciwnym razie natychmiast się zamknie.źródło