0

我正在尝试确定是否存在符号链接。我曾想过-L-f会这样做,但它似乎不起作用。

VHOST="/etc/apache2/sites-available/vhost.local";
if [ ! -L VHOST ]; then
        ln -s /home/user/Ubuntu\ One/htdocs/vhosts/vhost.local VHOST;
        a2ensite vhost.local;
        echo "  -vhost.local":
fi

如果还没有符号链接,它应该创建符号链接....

4

1 回答 1

5

根据TEST(1)手册页:

   -h FILE
          FILE exists and is a symbolic link (same as -L)
   -L FILE
          FILE exists and is a symbolic link (same as -h)

-h或者-L应该做的伎俩。但是,您不是针对变量 $VHOST而是针对文字进行测试VHOST。这就是错误。

所以,我想你的意思是:

if [ ! -L "$VHOST" ]; then
  ...

此外,您忘记了 $ in ln -s

ln -s /home/user/Ubuntu\ One/htdocs/vhosts/vhost.local "$VHOST";
于 2013-06-29T14:39:07.120 回答