これを読む方法?
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 ]
です。test
test $# -lt 1
test $# -lt 1
$#
(このスクリプトに渡された引数の数)が()1より小さい場合は0が返されるため、この場合に-lt
実行されます。COMMAND_2
print_package_file_error_and_exit "No package-file specified."
print_package_file_error_and_exit
明らかにシステムにインストールする必要があるアプリケーションですが、bashrc
スクリプトやソースファイル(ユーザーファイルなど)の他の場所に定義されているシェル関数である可能性が高くなります。名前を見ると、転送されたメッセージ(この場合"No package-file specified."
:)を印刷してからスクリプトを終了すると推測できます。
第二package_file
読み取り専用(一度値が設定された場合は変更できません)という変数を定義し、スクリプトに渡される最初の引数の値に設定します($1
)。