getopts がそれらを処理できるようにするために、コマンドライン引数を bourne スクリプト内から関数に渡すことは可能ですか?
スクリプトの残りの部分は関数にうまくまとめられていますが、引数の処理をメイン ロジックに移動する必要があるように見え始めています。
以下は現在の記述方法ですが、機能しません。
processArgs()
{
while getopts j:f: arg
行う
echo "${arg} -- ${OPTARG}"
ケース "${arg}" in
j) if [ -z "${filename}" ]; それから
job_number=$OPTARG
そうしないと
echo "ファイル名 ${filename} は既に設定されています。"
echo "ジョブ番号 ${OPTARG} は無視されます。
フィ;;
f) if [ -z "${job_number}" ]; それから
ファイル名=$OPTARG
そうしないと
echo "ジョブ番号 ${job_number} は既に設定されています。"
echo "ファイル名 ${OPTARG} は無視されます。"
フィ;;
エサック
終わり
}
doStuff1
プロセス引数
doStuff2
スクリプトの引数を読み取れるように関数を定義することは可能ですか? これを他の方法で行うことはできますか?私は getopts の機能が気に入っていますが、この場合、それを取得するにはコードの美しさを犠牲にする必要があるようです。