gpt4 book ai didi

linux - 如何抑制不相关的 ShellCheck 消息?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:33:59 26 4
gpt4 key购买 nike

环境

系统:Linux Mint 19(基于 Ubuntu 18.04)。

编辑:我用Visual Studio Code ( official website ) 使用 ShellCheck 插件来即时检查错误、警告和提示。


shell 检查

是每个shell脚本编写者必备的工具。

尽管开发人员必须付出巨大的努力才能使其尽可能好,但它有时会产生不相关的警告和/或信息。

示例代码,带有此类消息(警告 SC2120 + 直接相邻信息 SC2119 ):


示例 shell 脚本片段

am_i_root ()
# expected arguments: none
{
# check if no argument has been passed
[ "$#" -eq 0 ] || print_error_and_exit "am_i_root" "Some arguments have been passed to the function! No arguments expected. Passed: $*"

# check if the user is root
# this will return an exit code of the command itself directly
[ "$(id -u)" -eq 0 ]
}

# check if the user had by any chance run the script with root privileges and if so, quit
am_i_root && print_error_and_exit "am_i_root" "This script should not be run as root! Quitting to shell."

地点:

  • am_i_root 正在检查是否传递了不需要的参数。它的真正目的是不言自明的。

  • print_error_and_exit 顾名思义,它或多或少是不言自明的。

  • 如果传递了任何参数,我希望函数/脚本打印错误消息并退出。


问题

如何禁用这些消息(仅限本地)?

最佳答案

做这件事之前想清楚!

仅当您 100.0% 肯定消息确实不相关时才执行此操作。然后,阅读 Wiki herehere关于这个话题。


一旦您确信消息无关紧要

虽然一般来说,有更多方法可以实现这个目标,但我说过要在本地禁用这些消息,所以实际上只有一种方法。

在实际消息出现之前添加以下行:

# shellcheck disable=code

值得注意的是,在同一行之后添加文本将导致错误,因为它也会被 shellcheck 解释。如果您想添加关于为什么要抑制警告的解释,您可以添加另一个散列 # 以防止 shellcheck 解释该行的其余部分。

不正确:

# shellcheck disable=code irrelevant because reasons

正确:

# shellcheck disable=code # code is irrelevant because reasons

请注意,可以像这个例子一样添加以逗号分隔的多个代码:

# shellcheck disable=SC2119,SC2120

关于linux - 如何抑制不相关的 ShellCheck 消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52659038/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com