.byobu/windows を使用して一部の画面セッションを開始し、完了するとインタラクティブシェルで終了するスクリプトを起動しようとしています。可能ですか?
私は試した:
screen -t test /bin/bash -i /path/to/script
screen -t test /bin/bash - /path/to/script
スクリプトの最後に/bin/bashを追加できることはわかっていますが、シェルでスクリプトを実行するときにソリューションとして使用したくありません...
答え1
--rcfile
同じシェルを使用することが重要な場合は、このフラグを使用してください。
$ cat test.bashrc
ls
PS1='TEST \$'
$ screen -t test bash --rcfile test.bashrc -i
a.file b.file test.bashrc
TEST $
環境を設定する場合は.bashrc
必ずソースを確保してください。
答え2
コマンドを実行し、出力とインタラクティブシェルを画面に配置する唯一の合理的な方法は、「stuff」コマンドを使用してコマンドを実行することです。
screen -t title1 bash
stuff 'ls /tmp^M' # in vim type control-v control-m to insert the return at the end
答え3
可能であれば、2つのコマンドのみを実行してください。
screen -t test /bin/bash /path/to/script; /bin/bash
1 つのコマンドしか実行できない場合は、以下を試してください。
/bin/bash -c 'screen -t test /bin/bash /path/to/script; /bin/bash'