什么?!?我无法通过没有ls之前的sshfs将symlink删除到已安装目录中的目录

时间:2016-09-26 19:16:56

标签: linux bash build symlink sshfs

大家好!

我今天遇到了一件非常奇怪的事情,我想知道为什么会这样。我一整天都在这样做,直到我弄清楚发生了什么。

所以我正在编写一个bash脚本来通过Jenkins自动构建。

脚本看起来像这样:

#!/bin/bash
WORKDIR="sftp_servername"
USERNAME="someuser"
PASSWORD="somepassword"
HOST="somehost"
HTDOCS="web"

if [ ! -d "$WORKDIR" ]; then mkdir -m 744 "$WORKDIR"; fi

if !(echo "$PASSWORD" | sshfs "$USERNAME@$HOST:/" "$WORKDIR" -p 22 -o ServerAliveInterval=60,password_stdin)
then
    echo "Failed to connect to $HOST"
    exit
fi

cd $WORKDIR

>>> ls -la <<< !

if [ -d "$HTDOCS" ]
then 
    unlink "./$HTDOCS"
fi

... additional commands to link the folder to another release etc. that works just fine

现在,如果ls -la存在,上面的脚本可以工作(并删除$ WORKDIR符号链接)!这怎么可能。如果我删除ls -la行,它会“不能删除$ WORKDIR是一个目录”sshfs是否需要ls来“实现”$ WORKDIR是符号链接而不是文件夹?

如果是这样的话,你有没有更智能的解决方案,而不是它?

0 个答案:

没有答案