我正在尝试确定是否存在符号链接。我认为-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
如果还没有sym链接,它应该创建sym链接....
答案 0 :(得分: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
...
此外,您忘记ln -s
中的$:
ln -s /home/user/Ubuntu\ One/htdocs/vhosts/vhost.local "$VHOST";