是否可以在Unix中使用单个命令检查目录是否存在并删除(如果存在)?我有使用ANT'ssshexec'任务的情况,我只能在远程机器中运行一个命令.我需要检查目录是否存在并删除它...
Nic*_*aly 130
假设$WORKING_DIR设置为目录...这个单行应该这样做:
if [ -d "$WORKING_DIR" ]; then rm -Rf $WORKING_DIR; fi
Run Code Online (Sandbox Code Playgroud)
(否则只需替换你的目录)
Dom*_*ell 121
为什么不用rm -rf /some/dir?这将删除目录,如果它存在,否则什么都不做.
sin*_*law 29
尝试:
bash -c '[ -d my_mystery_dirname ] && run_this_command'
Run Code Online (Sandbox Code Playgroud)
编辑:如果您可以在远程计算机上运行bash,这将工作....
编辑2:在bash中,[ -d something ]检查是否存在名为"something"的目录,如果成功代码存在则返回成功代码并且是目录.使用&&链接命令仅在第一个命令成功时才运行第二个命令.因此[ -d somedir ] && command,仅当目录存在时才运行该命令.
小智 14
这是另一条内线:
[[ -d /tmp/test ]] && rm -r /tmp/test
Run Code Online (Sandbox Code Playgroud)