【发布时间】:2015-06-23 00:40:47
【问题描述】:
我目前有这个 bash 脚本(它位于我的主目录中,即 /home/fusion809/ 并且我以 root 身份运行它,因为它是图标复制行所必需的):
cd /home/fusion809/Pictures/Icon*
declare -a A={Arch,Debian,Fedora,Mageia,Manjaro,OpenSUSE}
declare -a B={Adwaita,Faenza,gnome,Humanity}
for i in $A; do
for j in $B; do
if test -e /usr/share/icons/$j/scalable ; else
mkdir /usr/share/icons/$j/scalable/
fi
if test -e /usr/share/icons/$j/scalable/$i.svg ; else
cp -a $i*.svg /usr/share/icons/$j/scalable/$i.svg
fi
done
done
我想要这个脚本做的是将图标从我的Pictures/Icons and logos 目录复制到/usr/share/icons 中的scalable 主题(在$B 中指定)子目录。但是,在它执行此操作之前,我希望它在这些主题子目录中创建一个 scalable 目录(如果它尚不存在)。问题是条件的 else 部分没有被正确读取,因为我不断收到此错误:
./copyicon.sh: line 8: syntax error near unexpected token `else'
./copyicon.sh: line 8: ` if test -e /usr/share/icons/$j/scalable ; else'
如果您想知道为什么条件中的test -e ... 是基于我一直在关注的一本关于 bash 脚本的教科书。
【问题讨论】:
标签: bash if-statement