これを行う正しい方法は、あなたがやろうとしていることによって少し異なります。最初の引数が--cronであるかどうかを確認する場合は、次を使用します。
if [ "$1" = "--cron" ]; then
唯一の引数が--cronであるかどうかを確認する場合は、次を使用します。
if [ "$*" = "--cron" ]; then
(これは"$*"
、何かを行う正しい方法である非常に少数のケースの1つであることに注意してください。スペースで区切られたすべての引数に拡張されますが、解析の目的では1つの単語として扱われます。)
引数が--cronであるかどうかを確認する場合は、次を使用します。
cronopt=false
for argument; do
if [ "$argument" = "--cron" ]; then
cronopt=true
break # note: if you are scanning the arguments for other things too, remove this
fi
done
if $cronopt; then
...
ところで、この行を何に使用しているのかわかりませんargs=($@)
が、引数を配列に格納する正しい方法はargs=("$@")
、引用符で単語の分割やファイル名の拡張などを行わないようにすることです。引数を配列に入れます。