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
--verbose
Shebang行に以下を追加できます。
#!/bin/bash --verbose
Linuxでこのプログラムを実行している場合、カーネルがshebang行を処理する方法のため、この方法で1つのパラメータしか追加できません。シェルスクリプトでは、set
;を使用して特定のシェルオプションを制御できます。この場合
#!/bin/bash
set -o verbose
blah
blah
(これはset
その行以降のコマンドのみを表示しますが、--verbose
shebang行にはshebangを含むすべてのコマンドが表示されます。)
答え2
テスト.sh:
#!/bin/bash -v
date
:
x=3
実行すると、次のものが生成されます。
$ ./test.sh
#!/bin/bash -v
date
Sat Jan 31 21:34:06 VET 2015
:
x=3
答え3
どうですか?
node --option `which grunt`