编写shell脚本if语句以检查目录

编写shell脚本if语句以检查目录,shell,package,uninstallation,dpkg,Shell,Package,Uninstallation,Dpkg,我需要写一个脚本,将重新创建我的opt文件夹,如果它被删除时,我从它删除一个包。以下是我上一篇文章的链接: 现在,我遇到的问题可以在这里更好地描述: 我正在考虑添加一个postrem脚本,它检查opt目录是否存在,如果不存在,则创建一个。不过,我使用shell脚本的经验非常有限 [ -d "$dir" ] || mkdir -p "$dir" 这可以写得更详细/清晰,如: if ! test -d "$dir"; then mkdir -p "$dir" fi 有关详细信息,请参见帮

我需要写一个脚本,将重新创建我的opt文件夹,如果它被删除时,我从它删除一个包。以下是我上一篇文章的链接:

现在,我遇到的问题可以在这里更好地描述:

我正在考虑添加一个postrem脚本,它检查opt目录是否存在,如果不存在,则创建一个。不过,我使用shell脚本的经验非常有限

[ -d "$dir" ] || mkdir -p "$dir"
这可以写得更详细/清晰,如:

if ! test -d "$dir"; then
    mkdir -p "$dir"
fi

有关详细信息,请参见
帮助测试

由于
mkdir-p$dir
是幂等的,因此无需先测试目录。只要
mkdir-p“$dir”
就足够了。你说得对。我将保留我的答案,因为它说明了一个有用的构造。