SSH経由で使用するとキャプチャシェルスクリプトが機能しない

SSH経由で使用するとキャプチャシェルスクリプトが機能しない

開発中で、includeをclient実行したいと思います。servertrap

server対話型SSHセッションに接続し、次の最小例を実行すると正常に動作します。

user@client:~$ ssh user@server
user@server:~$ sh -c 'trap "echo exiting..." EXIT'
exiting...
user@server:~$ 

ただし、インタラクティブに接続せずにコマンドにserverコマンドを追加すると、機能しなくなります。ssh

user@client:~$ ssh user@server -- sh -c 'trap "echo exiting..." EXIT'
user@client:~$ 

答え1

たぶん、次のようにしてみてください。

クライアントコンピュータで、.stackexchangeという名前のファイルにコマンドを保存します。

user@client:~$ echo 'trap "echo exiting…" EXIT' > .stackexchange

次に、通常のSSHコマンドを実行してサーバーに接続します。

user@client:~$ ssh user@server

接続すると、ファイルから次のコマンドを実行します。

user@server:~$ sh .stackexchange
exiting…
user@server:~$ 

関連情報