在bash中声明布尔值的简写

时间:2018-03-04 08:07:33

标签: bash shell testing

说我有这个bash功能:

foobar_force(){
  foorbar "$@" --force
}

foobar () {
   local is_force=$(test "$2" == "--force");
}

我正在寻找两件事 - 我想只测试最后一个参数是否是“--force”而不仅仅是第二个参数,如果可能的话。

此外,我正在寻找一些可用于将is_force声明为真或假的简写。

我想我知道如何做的唯一方法是使用:

if [[ "$2" == "--force" ]]; then
 local is_force="yes" ;
fi

1 个答案:

答案 0 :(得分:1)

试试这个......

$ cat example.sh 

foobar () {
   [[ "${@: -1}" == "--force" ]] && local is_force="true" || local is_force="false";
}

foobar_force(){
  foobar "$@" --force
}