gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 16:24:40 25 4
gpt4 key购买 nike

我有一个 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

我该如何继续?我没有得到想要的结果:当我执行脚本时目录没有被删除,我没有得到 Removing Lock在我的屏幕上输出。

我手动检查,锁定文件存在于该位置。
锁文件是用 set MUTEX_LOCK "/tmp/dir.lock" 创建的通过 TCL 程序。

最佳答案

除了-f-d请注意 [[ ]]不是 POSIX,而 [ ]是。多次使用的任何字符串或路径都应该放在变量中以避免输入错误,尤其是在使用 rm -rf 时。以极端的偏见删除。最便携的解决方案是

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

关于shell - 仅当目录存在时才使用 shell 脚本删除目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14021075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com