私のシェルスクリプトに3つのパラメータがあるとしましょう。
./myscript dir1 material dir2
スクリプトの元の3つのパラメータではなく、使用された$#
項目の数を報告する必要があります。dir1/*
このコードをどのように適用できるかをご存知ですか?
答え1
for arg
do set -- "$arg/"*
[ -e "$1" ] &&
printf '%s/*:\t%d\n' "$arg" "$#"
done
これらのループを実行した後に元のパラメーターを保持するには、次のようにします。
argc=$#
for arg
do set -- "$arg/"* "$@"
[ -e "$1" ] &&
printf '%s/*:\t%d\n' "$arg" "$((${#}-argc))"
shift "$((${#}-argc))"
done