私はbashスクリプトに初めてアクセスし、コマンドラインを介して実行するときにスクリプトのbashスクリプト関数に引数を取る最も簡単な方法が何であるかを知りたいと思います。
使用例:
./myscript function1
./myscript function2
myscriptの内容例:
echo "Example myscript"
function1() {
echo "I am function number 1"
}
function2() {
echo "I am function number 2"
}
if [ $# -eq 0 ]; then
echo "Specify a function. E.g. function1"
exit 1;
fi
スクリプトは、コマンドラインから呼び出されたときにのみ特定の機能を実行します。そうでない場合は、いくつかの使用例が表示されます。 cronとそのプロセスで利用可能で、ユーザーが実行する必要があります。
答え1
シェルスクリプトに渡されたすべてのパラメータは、次の場所に保存されます。$@、これを繰り返すことができます。
#!/bin/bash
echo "Example myscript"
function1() {
echo "I am function number 1"
}
function2() {
echo "I am function number 2"
}
if [ $# -eq 0 ]; then
echo "Specify a function. E.g. function1"
exit 1;
fi
for func do
[ "$(type -t -- "$func")" = function ] && "$func"
done
[ "$(type -t -- "$func")" = function ]
$func
関数の場合にのみ関数呼び出しを行うようにしてください。
例:
$ ./test.sh function1
Example myscript
I am function number 1
$ ./test.sh function1 function2
Example myscript
I am function number 1
I am function number 2