【发布时间】:2017-12-12 06:59:09
【问题描述】:
我在尝试在 bash 脚本中执行 diff 命令时遇到了一个非常令人惊讶的问题。
这是一个说明这一点的工作代码:
#!/bin/bash
cd
mkdir foo bar
head -c 1024 /dev/urandom >foo/qux
head -c 1024 /dev/urandom >bar/qux
# works properly as expected
diff ~/{foo,bar}/qux
folder="~"
# this fails with the ~ inside a variable
diff $folder/{foo,bar}/qux
# cleaning the mess
rm -rf foo bar
所以我的问题是:
为什么? :-)
【问题讨论】: