screen /bin/bash スクリプトを実行し、対話型シェルに入ります。

screen /bin/bash スクリプトを実行し、対話型シェルに入ります。

.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'

関連情報