如何检查目录是否存在于linux中。?
使用bash/SH/KSH,你可以这样做:
if [ ! -d /directory/to/check ]; then
mkdir -p /directory/toc/check
fi
对于文件,以取代-f
-d
,那么你可以做你需要的不存在的文件的任何操作。
test -d /src/com/mot || mkdir /src/com/mot
检查目录存在
if [ -d "$DIRPATH" ]; then
# Add code logic here
fi
检查目录不存在
if [ ! -d "$DIRPATH" ]; then
# Add code logic here
fi
这是baisc,但我认为它的工作原理。如果您希望有一个动态列表循环查看,则必须设置一些变量。
if [ -d /src/com/mot ];
then
echo Directory found
else
mkdir /src/com/mot
fi
希望这就是你要找的人...
您错过了';'在if条款的结尾']之后。 – 2012-01-09 15:16:06
谢谢..固定的 – Silvertiger 2012-01-09 15:26:14
@Chirstian';' ']'后不需要,']'不是右括号。在命令'['的情况下,结尾的']'只是该命令的一个参数。换行符与分号具有相同的用途。 – 2012-01-09 15:30:02
你实际上并不需要检查。 'mkdir -p'不作用于现有的目录。 – thiton 2012-01-09 15:11:55
这是一个公平点。我会留下它,好像给了OP的框架,以防他们想在'mkdir'之前做其他事情。 – 2012-01-09 15:13:27
请注意,如果在第一行和第二行之间创建目录,则会出现争用情况。 – Sjoerd 2012-01-09 15:14:10