在bash中声明布尔值的简写

问题描述 投票:0回答:1

说我有这个bash功能:

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

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

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

此外,我正在寻找一些我可以用来宣布is_force为真或假的简写。

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

if [[ "$2" == "--force" ]]; then
 local is_force="yes" ;
fi
bash shell testing
1个回答
1
投票

试试这个...

$ cat example.sh 

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

foobar_force(){
  foobar "$@" --force
}
© www.soinside.com 2019 - 2024. All rights reserved.