我想在运行mkdir创建一个dir时写一个简单的检查.首先,它将检查dir是否已经存在,如果存在,它将跳过.如果dir不存在,它将运行mkdir,如果mkdir失败(意味着脚本无法创建dir,因为它没有足够的权限),它将终止.
这就是我写的:
if [ ! -d "$FINALPATH" ]; then
if [[ `mkdir -p "$FINALPATH"` -ne 0 ]]; then
echo "\nCannot create folder at $FOLDERPATH. Dying ..."
exit 1
fi
fi
Run Code Online (Sandbox Code Playgroud)
但是,第二个if似乎没有正常工作(我将0作为成功的mkdir的返回值).那么如何正确写出第二个if?mkdir在成功和失败后会回报什么?
Owe*_*wen 16
运行的结果
`mkdir -p "$FINALPATH"`
Run Code Online (Sandbox Code Playgroud)
不是返回码,而是程序的输出.$?返回码.所以你可以做到
if mkdir -p "$FINALPATH" ; then
# success
else
echo Failure
fi
Run Code Online (Sandbox Code Playgroud)
要么
mkdir -p "$FINALPATH"
if [ $? -ne 0 ] ; then
echo Failure
fi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16472 次 |
| 最近记录: |