SSH後に複数のコマンドを実行する

SSH後に複数のコマンドを実行する

以下を実行する必要がある他のプロセスにbashコマンドを渡す必要があります。

  1. SSH経由でコンピュータに接続します。パスワードプロンプトは必要ありません。
  2. いくつかの環境変数の設定:ソースパス/to/script.sh
  3. (2)が必要なGUIプログラムを起動します。

これまで私は以下を持っています:

ssh -n -f pc-name -XYC nohup source folder/setup_thing.sh; program

私の努力によって私は次を得ます:

nohup: failed to run command `source': No such file or directory
bash: program: command not found

同様の修正を試しました。これそしてこれそして他のいくつかの同様の答え。これらすべてをbashファイルに入れてからssh mySever 'nohup bash myscript.sh'

上記のコマンドが正常に実行されるようにどのようにリファクタリングできますか?

答え1

頑張ります

 ssh -n -f pc-name -XYC ". folder/setup_thing.sh; nohup  program &"
  • . folder/setup_thing.sh変数は setup_thing.sh で初期化されます。
  • nohup program &バックグループでプログラムを実行し、sshから戻ります(nohupによる)。

答え2

私はこれを試しました:

nohup ssh -n -f pc-name -XYC "source folder/setup_thing.sh; program"

効果がありました。私に言うが、

nohup: ignoring input and redirecting stderr to stdout

関連情報