所以我有一个函数,我想解压参数数组以形成参数序列:
#!/usr/bin/env bash
my_func() {
echo "IN LEN: $#" # Gives "6" -> Should be "4"
echo "IN: $@" # Gives "--a 1 --b 2 3 4" -> Should be "--a 1 --b 2\n3\n4"
}
read -r -d '' MULTI << EOM
2
3
4
EOM
ARGS=("--a" "1" "--b" "$MULTI")
echo "OUT LEN: ${#ARGS[@]}" # 4
echo "OUT: ${ARGS[@]}" # "--a 1 --b 2\n3\n4"
my_func ${ARGS[@]}
Run Code Online (Sandbox Code Playgroud)
这个例子演示了这个问题和我的期望。也许设置有一些魔法IFS?有什么建议么?
附言。如果您需要更多上下文,请参阅我原来的问题:处理可选函数参数