有人能解释一下这个shell脚本中发生了什么吗?

有人能解释一下这个shell脚本中发生了什么吗?,shell,unix,scripting,Shell,Unix,Scripting,我知道它将进入一个目录并递归地强制删除。/tmp。我的问题是“-d./tmp”。-d是做什么的?为什么“/”会出现在tmp前面 提前谢谢 cd $WORKING_DIR if [ -d ./tmp}; then rm -rf ./tmp fi 它检查/tmp是否存在并且是否是一个目录。在这种情况下,它会将其删除 从人工测试: -d文件 文件存在并且是一个目录 顺便说一下,语法有错误: if [ -d ./tmp}; then ^

我知道它将进入一个目录并递归地强制删除。/tmp。我的问题是“-d./tmp”。-d是做什么的?为什么“/”会出现在tmp前面

提前谢谢

cd $WORKING_DIR

if [ -d ./tmp}; then
       rm -rf ./tmp
fi

它检查
/tmp
是否存在并且是否是一个目录。在这种情况下,它会将其删除

人工测试

-d文件

文件存在并且是一个目录


顺便说一下,语法有错误:

if [ -d ./tmp}; then
             ^
             needs space and ] instead of }
正确地说:

if [ -d ./tmp ]; then

-1:至少要努力确保你的代码样本不包含明显的语法错误。如果你要给
rm
-f
标志,检查这个东西是否存在有什么意义?我想这只是一个奇怪的例子,
/tmp
实际上是一个文件、套接字或其他东西。。。还是。。。