【发布时间】:2012-02-06 02:40:34
【问题描述】:
给定一个文件路径(例如/src/com/mot),我如何检查mot 是否存在,如果它不使用Linux 或shell 脚本创建它??
【问题讨论】:
给定一个文件路径(例如/src/com/mot),我如何检查mot 是否存在,如果它不使用Linux 或shell 脚本创建它??
【问题讨论】:
使用 bash/sh/ksh,您可以:
if [ ! -d /directory/to/check ]; then
mkdir -p /directory/toc/check
fi
对于文件,将-d替换为-f,然后你可以对不存在的文件进行任何你需要的操作。
【讨论】:
mkdir -p 不作用于现有目录。
mkdir 之前做其他事情。
mkdir -p,也会出现这种竞争条件(尽管概率窗口要小得多)(除非某些文件系统实现并公开了原子检查或-创建函数调用)。至少在上面的代码中,如果对现有目录进行虚假调用,mkdir 调用不会失败(因为无论如何都提供了-p 选项)。
test -d /src/com/mot || mkdir /src/com/mot
【讨论】:
mkdir -p 创建目录,如果它已经存在,则不会给出错误。
【讨论】:
检查目录是否存在
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
希望这就是你要找的...
【讨论】:
then 之前是必需的,不是吗?