スクリプトを実行するときにshebangインタプリタに引数を渡す方法は?

スクリプトを実行するときにshebangインタプリタに引数を渡す方法は?

my.script私にこれがあるとします。

#!/bin/bash

blah
blah

そしてbashインタプリタは1つの--verboseパラメータを受け入れます。

--verboseをbashに渡すmy.scriptをどのように実行しますか?

my.scriptコマンドラインでbash --verbose my.scriptを実行できることを知っていますが、直接実行できるはずです。

編集する:

まあ、おそらく私の具体的な例を説明する必要があるようです。私はgrunt.jsビルドシステムを使用していますが、そのcliは#です!ノードに。 gruntはプラグインを実行し、私が使用したプラグインの1つはノードで特定のフラグを有効にする必要がありました。 grunt cliスクリプトはこれを実行せず、これを変更したくありません。

ベストアンサー1

--verboseShebang行に以下を追加できます。

#!/bin/bash --verbose

Linuxでこのプログラムを実行している場合、カーネルがshebang行を処理する方法のため、この方法で1つのパラメータしか追加できません。シェルスクリプトでは、set;を使用して特定のシェルオプションを制御できます。この場合

#!/bin/bash

set -o verbose

blah
blah

(これはsetその行以降のコマンドのみを表示しますが、--verboseshebang行にはshebangを含むすべてのコマンドが表示されます。)

おすすめ記事