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 の機能が気に入っていますが、この場合、それを取得するにはコードの美しさを犠牲にする必要があるようです。