如果! mkdir -p $ APPLICATION_DIRECTORY / conf

时间:2018-05-24 14:33:36

标签: linux shell sh ksh

有人能告诉我以下shell命令的作用吗?

if ! mkdir -p $APPLICATION_DIRECTORY/conf

2 个答案:

答案 0 :(得分:4)

mkdir -p "$APPLICATION_DIRECTORY/conf"尝试创建命名目录,沿途创建任何缺少的父目录。与每个命令一样,它具有整数退出状态,其中0表示目录已成功创建,非零值表示某种错误。

if命令测试其命令的退出状态,而不是大多数其他编程语言中的布尔值。 !运算符取消退出状态:非零退出状态转换为0,退出状态0转换为1.

换句话说,

if ! mkdir -p "$APPLICATION_DIRECTORY/conf"; then
  echo "There was an error creating the directory"
else
  echo "The directory was successfully created"
fi

答案 1 :(得分:0)

你也可以使用直接逻辑(更容易理解):如果mkdir -p ...

示例:

if mkdir -p "$APPLICATION_DIRECTORY/conf"; then 
   echo "The directory was successfully created"
else 
   echo "There was an error creating the directory"
fi