加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

仅当目录使用shell脚本时才删除目录

发布时间:2020-12-15 22:29:53 所属栏目:安全 来源:网络整理
导读:我有一个 shell(ksh)脚本.我想确定某个目录是否存在于/ tmp中,如果它存在,那么我必须将其删除.我的脚本是: 测试 #!/usr/bin/ksh# what should I write here?if [[ -f /tmp/dir.lock ]]; then echo "Removing Lock" rm -rf /tmp/dir.lockfi 我该怎么办?我没
我有一个 shell(ksh)脚本.我想确定某个目录是否存在于/ tmp中,如果它存在,那么我必须将其删除.我的脚本是:

测试

#!/usr/bin/ksh
# what should I write here?
if [[ -f /tmp/dir.lock ]]; then
    echo "Removing Lock"
    rm -rf /tmp/dir.lock
fi

我该怎么办?我没有得到想要的结果:当我执行脚本并且我没有在屏幕上删除锁定输出时,目录没有被删除.

我手动检查并且锁定文件存在于该位置.
通过TCL程序使用set MUTEX_LOCK“/tmp/dir.lock”创建锁定文件.

解决方法

除了-f与-d之外,[[]]不是POSIX,而[]是.您不止一次使用的任何字符串或路径都应该在变量中,以避免输入错误,尤其是当您使用rm -rf时,会因极端偏见而删除.最便携的解决方案是

DIR=/tmp/dir.lock
if [ -d "$DIR" ]; then
    printf '%sn' "Removing Lock ($DIR)"
    rm -rf "$DIR"
fi

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读