我有一个国家的文件夹目录,其中有可能是已经翻了一倍名称的文件夹:变大括号内不工作
en_en es_es fr_fr de_de
而且我写了一个脚本来删除重复:
for code in en de es fr it nl pt tr; do
if [[ -d $code_$code ]]; then
mv "${code}_${code}" "${code}"
fi
end
但它不起作用 - if
下的代码从未得到执行(我试图在那里放置一个echo
)。但是,以下工作:
if [[ -d es_es ]]; then
echo "foo"
end
我正在使用(日志)bash 3.2。
酷,的作品!但是,为什么有什么不同? (我会尽快接受。) – 2014-09-29 09:53:32
@ janko-m因为'_'是变量名称的一部分; '$ code_ $ code'与'$ {code _} $ {code}'相同。 – Biffen 2014-09-29 10:05:14
@ janko -m yes!查看我刚刚添加到我的答案中的一个示例中的差异 – fedorqui 2014-09-29 10:15:49