コマンドラインから実行するときに、スクリプトでbash関数をパラメーターとして作成するための最良の方法は何ですか?

ジェームスホワイト

私は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やそのようなプロセスでも使用できる必要があります。

cuonglm

シェルスクリプトに渡されたすべての引数は$ @に格納されていたので、ループすることができます。

#!/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 ]$funcis関数の場合にのみ関数呼び出しを行うようにしてください

例:

$ ./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]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ