Mirki z #linux #shell #bash #programowanie Dlaczego skrypt nie czeka mi na odpowiedź z ssh, tylko wykonuje się dalej, i to jakoś dziwnie? Prosty przykład:
local_home=$HOME remote_home="$(ssh user@host 'echo $HOME')" local_home="$HOME/foo" remote_path="$remote_home/bar" foo=bar Zmienna $remotehome będzie prawidłowa, a $remotepath pusta. Co więcej $localhome będzie puste (╯°□°)╯︵┻━┻, a $foo już będzie ok.
@grajlord: OK, dobra. Skrypt działa dobrze. Natomiast kopiuj/wklej do konsoli z pliku tekstowego jest przerywane w momencie odpalenia połączenia ssh (nie wykonuje żadnych komend poniżej tej wywołującej ssh). Czy da się to jakoś obejść?
@carlo497: Jeżeli mam po sobie komendy wywołujące ssh, a następnie wykonujące coś lokalnie, oddzielone znakiem nowej linii, to po wklejeniu ich do terminala wywołanie zostana tylko ta wywołująca ssh, a cała reszta nawet nie zostaje wklejona.
Dlaczego skrypt nie czeka mi na odpowiedź z ssh, tylko wykonuje się dalej, i to jakoś dziwnie?
Prosty przykład:
local_home=$HOMEremote_home="$(ssh user@host 'echo $HOME')"local_home="$HOME/foo"remote_path="$remote_home/bar"foo=barZmienna $remotehome będzie prawidłowa, a $remotepath pusta. Co więcej $localhome będzie puste (╯°□°)╯︵ ┻━┻, a $foo już będzie ok.
@grajlord: Nie ogarniam o co Ci chodzo.
ssh -t host 'cmd1; cmd2; FOO=hello sh -i'
carlo@carlo-Toshiba ~ % localhome=$HOME
remotehome="$(ssh