スタンドアロンに送信する長いコマンドがありますscreen
。
screen -x screen-name -p 1 -X stuff 'mycommand\n'
これに触発されて関連投稿。動作しますが、mycommand
長すぎると画面エラーが発生します。
リモート制御時間が長すぎます。
コマンドを小片に分割することはできません。それは同じです:
( { script1.sh; script2.sh; } </dev/null &>/dev/null &)
mv
スクリプト間には多くのスクリプトとタスクがあります。
それでは、screen
このように長いコマンドラインをどのように受け入れることができますか?ご協力ありがとうございます!
答え1
画面のstuff
コマンドはコマンドを実行しませんが、入力をシミュレートします。入力されていると思われる内容を読み、改行文字を受信すると、実行中のスクリーンセッションでシェルが実行されているかのように聞こえます。
したがって、必要に応じて、コマンドをより小さな部分にカットして、一度に1文字ずつ送信できます。画面内のシェルは、少なくとも最後の文字が送信されるのを待ちます\n
。
(つまり、すべてをシェルスクリプトファイルに入れて実行またはインポートする方がはるかに簡単です。)