gpt4 book ai didi

unix - 注释掉 shell 脚本中的一组行

转载 作者:行者123 更新时间:2023-12-03 01:26:39 26 4
gpt4 key购买 nike

我想知道是否有办法注释掉 shell 脚本中的一组行。我怎么能这么做呢?我们可以在其他编程语言中使用/* */。当我转换/使用/修改另一个脚本时,这最有用我想保留原来的行而不是删除。

为所有未使用的行查找并添加 # 前缀似乎是一项繁琐的工作。

假设脚本中有 100 行后续行未使用。我想一口气把它们全部评论出来。这可能吗?

最佳答案

最通用且安全的方法是将注释放入空引用中此处文档,如下所示:

<<"COMMENT"
This long comment text includes ${parameter:=expansion}
`command substitution` and $((arithmetic++ + --expansion)).
COMMENT

引用上面的COMMENT分隔符对于防止参数是必要的扩展、命令替换和算术扩展,这些都会发生否则,如 Bash 手册 states和 POSIX shell 标准 specifies .

在上面的情况下,不引用 COMMENT 将导致变量 parameter被分配文本 expansion,如果它为空或未设置,则执行命令命令替换,递增变量算术和递减变量扩展

比较其他解决方案:

如果为 false,则使用 ;那么注释文本 fi 要求注释文本为语法正确的 Bash 代码,而自然注释通常不是,如果仅适用于可能不平衡的撇号。 也是如此:|| { 评论文字 }构造。

将注释放入单引号 void 命令参数中,如 :'comment
text'
的缺点是无法包含撇号。双引号参数,如:"comment text",仍然受参数扩展的影响,命令替换和算术扩展,与不带引号的相同这里文档内容可能会导致上述副作用。

使用脚本和编辑器工具自动为文件中的每一行添加前缀带“#”的 block 有一些优点,但并不能完全回答问题。

关于unix - 注释掉 shell 脚本中的一组行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1444367/

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