限られた数の引数に対して、次の操作を明示的に実行できます。
wrapped_function "${1#prefix}" "${2#prefix}" "${3#prefix}" # etc.,
もっと簡単に操作する方法はありますか?みんなワンタイムパラメータ?
答え1
もちろん、
wrapped_function "${@#prefix}"
$@
集合を表すみんなパラメータ$1
、、、$2
...(参照)ここ)別の引用符で囲む、つまり基本的に
$@="\"$1\" \"$2\" \"$3\" ..."
ただし、bashは変数操作を個別に適用します。各パラメータ、つまり
${@#prefix}="\"${1#prefix}\" \"${2#prefix}\" ..."
構文は、次から始める${VAR#prefix}
と削除することを意味します。$VAR
prefix
TEST="/tmp/var/bin"; echo ${TEST#/tmp} # yields "/var/bin"
同様に、%
置換を使用してサフィックスを削除できます#
。