私は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やそのようなプロセスでも使用できる必要があります。
シェルスクリプトに渡されたすべての引数は$ @に格納されていたので、ループすることができます。
#!/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
is関数の場合にのみ関数呼び出しを行うようにしてください。
例:
$ ./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
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加