关于ksh中if语句的说明

时间:2015-03-18 09:31:19

标签: unix if-statement ksh

我对ksh脚本非常陌生,如果这太明显,请耐心等待

这在ksh中意味着什么?这也是写if条件的一种方法吗?

[[ -n $MSRV_SGL ]] && {
    msrv_ps || return 1
}

msrv_ps是一个函数

这是怎么读的? if the length of string $MSRV_SGL is non zero....

我在任何在线示例中都没有遇到过这样的表达。

1 个答案:

答案 0 :(得分:1)

是告诉你:如果var length不为零,执行函数并返回1,如果它的退出代码不为零。

它可以构造为:

if [[ -n $MSRV_SGL ]];then
   if  ! msrv_ps;then 
      return 1
   fi 
fi
  

{list; }                 list只是在当前的shell环境中执行。列表必须以换行符或分号结尾。   这称为组命令。                 返回状态是列表的退出状态。请注意,与元字符(和)不同,{和}是保留字和   必须发生在哪里                 保留字是允许被识别的。由于它们不会导致单词分隔,因此必须将它们与list by分开   空白或其他                 shell metacharacter。