-bash语法错误“fi”

时间:2012-08-24 16:38:29

标签: bash shell

我尝试使用ssh创建符号链接。这是我正在使用的命令。

cd /home
for homedir in *
do if [ -d ${homedir} ]
ln -s /etc/cpbackup-exclude.conf ${homedir}/cpbackup-exclude.conf
fi
done

输入fi后我收到此错误。 " -bash:意外令牌附近的语法错误' fi'

我不确定是什么问题?

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

if命令的语法是:

if test-commands; then
  consequent-commands;
[elif more-test-commands; then
  more-consequents;]
[else alternate-consequents;]
fi

在代码中添加关键字then

if [ -d ${homedir} ]
then
    ln -s /etc/cpbackup-exclude.conf ${homedir}/cpbackup-exclude.conf
fi

顺便说一句,你可以缩进你的代码,以便于阅读。

答案 1 :(得分:1)

我认为你可能需要if语句中的条件之后的关键字then

请参阅文档here