Shell脚本注释写法

(编辑:jimmy 日期: 2025/2/25 浏览:2)

一、单选注释

以“#”开头的行就是注释,会被解释器忽略。

复制代码 代码如下:
#--------------------------------------------
# 这是一个自动打ipa的脚本,基于webfrogs的ipa-build书写:
# https://github.com/webfrogs/xcode_shell/blob/master/ipa-build

# 功能:自动为etao ios app打包,产出物为14个渠道的ipa包
# 特色:全自动打包,不需要输入任何参数
#--------------------------------------------

##### 用户配置区 开始 #####
#
#
# 项目根目录,推荐将此脚本放在项目的根目录,这里就不用改了
# 应用名,确保和Xcode里Product下的target_name.app名字一致
#
##### 用户配置区 结束  #####

二、多行注释

如果在开发过程中,遇到大段的代码需要临时注释起来,过一会儿又取消注释,怎么办呢?每一行加个#符号太费力了,可以把这一段要注释的代码用一对花括号括起来,定义成一个函数,没有地方调用这个函数,这块代码就不会执行,达到了和注释一样的效果。例子:

复制代码 代码如下:
notExce(){ 
cp ./a.txt ./b.txt 
mkdir -p {1,2,3}/{4,5,6} 
echo "ok" 
}

但如果我们需要对一大段的shell脚本进行注释,倘若我们都在每行前面添加#,这对我们来说,确实不是一件很令人舒服的事情,那么,在shell中,有没办法采用类似c语言的注释/* ...*/来达到一整段的注释效果呢?笔记经过测试,发现下面的方法是ok的。
复制代码 代码如下:
:<<!EOF!
cp ./a.txt ./b.txt
mkdir -p {1,2,3}/{4,5,6}
echo "ok"
!EOF!

甚至可以把要注释的shell整体变成一个函数来达到不让执行的目的。如例2。

把shell多行注释掉,还有如下方法:

第一种:基于Here Documents和:实现,和例3类似

如果被注释的内容中有反引号会报错
复制代码 代码如下::<<BLOCK
....被注释的多行内容
BLOCK

解决注释中有反引号的问题
复制代码 代码如下::<< 'BLOCK
....被注释的多行内容
BLOCK'
或者干脆只留单引号
复制代码 代码如下::<< '
....被注释的多行内容
'

第二种:当注释内容中有括号时报语法错误错,但里面有反引号,引号时没有问题
复制代码 代码如下::||{
....被注释的多行内容
}

第三种:会对注释内容中的括号引号等语法错误报错
复制代码 代码如下:if false ; then
 ....被注释的多行内容
fi

一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?