画面を呼び出すサードパーティのスクリプトを呼び出すスクリプト - 画面の分離を開始するには?

画面を呼び出すサードパーティのスクリプトを呼び出すスクリプト - 画面の分離を開始するには?

スクリプトがあります「myscript.sh」、プロバイダスクリプトの呼び出し「サプライヤーscript.sh」。ベンダースクリプトは前景から画面を実行します。

画面が分離された状態でベンダースクリプトを実行したいと思います。できれば割れずにしたいです。ベンダースクリプトまたはプロバイダ_スクリーンrc

これを行う方法はありますか?

myscript.sh:

# some other commands
...
source vendorscript.sh

Vendorscript.sh:

# some other commands
...
exec screen -c vendor_screenrc

ベストアンサー1

プログラムを開始するために絶対パスを使用しない場合は、vendorscript.sh実行する前に絶対パスを試してみてくださいscreen$PATHこれはまた、$PATH内部リセット/動作がないと仮定しますvendorscript.sh

たとえば、ディレクトリを作成し、/opt/vendorその中に次のシェルスクリプトを作成しましたscreen

#!/bin/bash
exec /usr/bin/screen -d -m "$@"

そしてmyscript.sh

#!/bin/bash
PATH="/opt/vendor:$PATH"
source vendorscript.sh

/opt/vendorこれが最初のものなので、バイナリの代わりに私のラッパースクリプトが使用されます$PATH。によると:vendorscript.shscreenman 1 screen

-d -m 「分離」モードで画面を起動します。これにより、新しいセッションが作成されますが、接続されません。これはシステム起動スクリプトに役立ちます。

そして"$@"元の呼び出しの残りのパラメータを渡します。

おすすめ記事