小编Kri*_*ris的帖子

Bash 脚本命令并消除 shellcheck 错误 SC2181

我有以下 bash 脚本:

dpkg-query --show --showformat='${Status}\n' "$i" 2> \
      /dev/null | grep "install ok installed" &> /dev/null
if [[ $? -eq 0 ]]; then
  l_var_is_desktop="true"
fi
Run Code Online (Sandbox Code Playgroud)

ShellCheck 实用程序 ( https://www.shellcheck.net/ ) 给出以下输出:

$ shellcheck myscript

Line 17:
    if [[ $? -eq 0 ]]; then
          ^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.

$ 
Run Code Online (Sandbox Code Playgroud)

此警告的链接如下:https://github.com/koalaman/shellcheck/wiki/SC2181

修改这个的最好方法是什么。该命令实在太长,无法放入一行。我想避免使用 ShellCheck 忽略规则。

我尝试创建一个局部变量并存储命令的输出,但这打破了其他规则。

bash shellcheck

4
推荐指数
1
解决办法
3420
查看次数

标签 统计

bash ×1

shellcheck ×1