Linuxシェルスクリプトを読む[閉じる]

Linuxシェルスクリプトを読む[閉じる]

これを読む方法?

if [ $# -lt 1 ]; then
    print_package_file_error_and_exit "No package-file specified."
fi

readonly package_file="$1"

答え1

最初次の形式の「if文」があります。

if COMMAND_1; then
    COMMAND_2
fi

COMMAND_1実行が成功した場合(0を返す)、実行するようにシェルに指示しますCOMMAND_2

COMMAND_1この例では、次のように括弧を使用して作成されたコマンド[ $# -lt 1 ]です。testtest $# -lt 1

test $# -lt 1$#(このスクリプトに渡された引数の数)が()1より小さい場合は0が返されるため、この場合に-lt実行されます。COMMAND_2print_package_file_error_and_exit "No package-file specified."

print_package_file_error_and_exit明らかにシステムにインストールする必要があるアプリケーションですが、bashrcスクリプトやソースファイル(ユーザーファイルなど)の他の場所に定義されているシェル関数である可能性が高くなります。名前を見ると、転送されたメッセージ(この場合"No package-file specified.":)を印刷してからスクリプトを終了すると推測できます。

第二package_file読み取り専用(一度値が設定された場合は変更できません)という変数を定義し、スクリプトに渡される最初の引数の値に設定します($1)。

関連情報