b
過去にうまく機能した別の関数にすべてのパラメーターを渡すbash関数があります。
a () {
b "$@"
}
a -input /input -output "with blanks"
ここで、いくつかのパラメーターを変更して、更新されたパラメーターをに渡しますb
。
のコピーを$@
変数に再構築することを考えていましたARGV
。'、 "、さらにはタブ'を使用してフィールドを保持しようとしましたが、すべて失敗しました。
良いアイデアはありますか?
$ @のデータ型は何ですか?なぜそれがフィールドを正しくキャプチャするのですか?
参照
'を使用する
ARGV=""
while [ $# -ne 0 ] ; do
case "$1" in
-*)
ARGV="$ARGV $1 '$2'"
shift; shift; continue;;
esac
done
「
ARGV="$ARGV $1 \"$2\""
タブを使用する
IFS=$'\t'
ARGV="$ARGV $1 "$'\t'"$2"$'\t'