別の画面でbashスクリプトを実行したいです。スクリプトはプログラムを複数回呼び出し、毎回長い時間待ちます。最初に考えたのは、単に画面を開いてスクリプトを呼び出すことでしたが、ctrl-a d
スクリプトの実行中は分離(通過)できないようです。それで、ちょっと調べて、こんなことを見つけました。ガイドラインShebangを次に変更します。
#!/usr/bin/screen -d -m -S screenName /bin/bash
ただし、これも機能しません(オプションは認識されません)。どんな提案がありますか?
PS:これは私の目的に合うかもしれないと思いますがscreen -dmS name ./script.sh
、これをスクリプトに統合する方法はまだ疑問です。ありがとうございます。
ベストアンサー1
これシェルボーン表示される行は一部のUNIXバリアントでは機能しますが、Linuxでは機能しない可能性があります。 Linux shebangは限られています。選択は1つだけです。完全な文字列は、別の単語ではなく-d -m -S screenName /bin/bash
単一のオプションとして渡されます。screen
複数のファイルや参照を処理するのではなく、screen内でスクリプトを実行したい場合は、そのスクリプトをscreen内でまだ実行していない場合は、screenを呼び出すシェルスクリプトにすることができます。
#!/bin/sh
if [ -z "$STY" ]; then exec screen -dm -S screenName /bin/bash "$0"; fi
do_stuff
more_stuff