【发布时间】:2010-09-29 12:23:52
【问题描述】:
在 bash 中,可以转义包含空格的参数。
foo "a string"
这也适用于命令或函数的参数:
bar() {
foo "$@"
}
bar "a string"
到目前为止一切顺利,但如果我想在调用 foo 之前操纵参数怎么办?
这不起作用:
bar() {
for arg in "$@"
do
args="$args \"prefix $arg\""
done
# Everything looks good ...
echo $args
# ... but it isn't.
foo $args
# foo "$args" would just be silly
}
bar a b c
那么当参数包含空格时如何构建参数列表?
【问题讨论】:
标签: bash arguments whitespace