“#”在Shell中有多重用途。

1.用于注释

注释可以是独立的一行,也可以存在于本行命令之后,与命令最后一个字符要有一个空格。

例如:

#这是一行注释

echo "hello world" #这行输出hello world,注释在本行命令语句之后,中间有一个空格

2.“#!”是一个例外

如果以“#!”开头的行,不是注释,它表明本脚本使用指定的解释器运行。

例如:

#!/bin/bash

指定脚本使用bash shell解释

3.作为一个普通字符

如果和转义字符“\”一起使用,那么“#”当做普通字符使用,不代表注释。

例如:

echo xyz\#

命令输出结果:“xyz#

4.与${}结合使用,实现参数替换

例如:

echo ${PATH#*:}

此命令将变量PATH从左侧第一个“:”字符开始左侧部分舍弃。

如下图,红框部分被舍弃。

echo ${PATH##*:}

此命令将变量PATH从左侧最后一个“:”字符开始左侧部分舍弃。

如下图,篮框部分之外的部分被舍弃。

5.与单引号和双银行结合使用的效果

与单引号和双银行结合使用的效果等同于普通字符

例如:

echo "xyz #"

echo 'xyz #'

两个命令输出结果都是:xyz #

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐