【发布时间】:2016-05-17 08:29:10
【问题描述】:
考虑以下脚本:
#! /bin/bash -e
echo {foo,bar}
EX={foo,bar}
echo ${EX}
这个脚本的输出是:
foo bar
{foo,bar}
我希望echo 命令对${EX} 执行大括号扩展。因此,我希望看到
foo bar
foo bar
我想创建一个脚本,用户可以在其中提供一个带有大括号的路径,复制它的每个扩展版本。
类似这样的:
#! /bin/bash -e
$SOURCES=$1
$TARGET=$2
cp -r ${SOURCES} ${TARGET}
我怎样才能做到这一点?
【问题讨论】:
-
cp -r foo bar foo bar应该做什么? -
你也不能对变量进行大括号扩展,因为它是在它们之前评估的。
-
不要让事情变得过于复杂。您编写一次脚本,然后多次使用它(可能)。因此,没有理由尝试节省。
标签: bash shell brace-expansion