私は小さなbashスクリプトを書いていて、これによってディレクトリを作成しようとしています。
mkdir ~/deploy.$1
私はそれがdeploy.scriptFooまたは$1の価値があるものを生成するはずだと思います。
「デプロイ」を生成するだけです。$1変数を省略します。出力で$1変数をテストしましたが、スクリプトに渡されていることを確認しています。何か案は?
私は小さなbashスクリプトを書いていて、これによってディレクトリを作成しようとしています。
mkdir ~/deploy.$1
私はそれがdeploy.scriptFooまたは$1の価値があるものを生成するはずだと思います。
「デプロイ」を生成するだけです。$1変数を省略します。出力で$1変数をテストしましたが、スクリプトに渡されていることを確認しています。何か案は?
$1 位置パラメーターは、スクリプト自体の名前ではなく、スクリプトの最初の引数です。
スクリプト名が必要な場合は、$0 を使用します。たとえば、次のサンプル スクリプトが /tmp/param_test.sh に保存されているとします。
#!/bin/bash
mkdir "/tmp/deploy.$(basename "$0" .sh)"
ls -d /tmp/deploy*
スクリプトは引数を無視しますが、次の出力を正しく返します。
/tmp/deploy.param_test
名前を変更したい場合は、スクリプトで位置パラメータを使用し、引数を指定してスクリプトを呼び出す必要があります。例えば:
#!/bin/bash
mkdir "/tmp/deploy.$1"
ls -d /tmp/deploy*
コマンド ラインで、引数をスクリプトに渡します。例えば:
$ bash /tmp/param_test.sh foo
/tmp/deploy.foo
http://www.gnu.org/software/bash/manual/bashref.html#Positional-Parameters