Shell学习笔记-1-Shell变量

参考:http://www.runoob.com/linux/linux-shell-variable.html


Shell变量


 变量声明

与其他不同,在初始化时=两端不能有空格。

示例中使用的``是将``中指令的执行结果赋值给变量。同样的,$()也可以达到相同的效果,但是更建议使用后者,混,烦。

同时参看eval:https://blog.csdn.net/qq_26768741/article/details/68062328


 变量使用

使用一个定义过的变量,只要在变量名前面加美元符号即可,变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界。

只有使用时才加$,其余情况即使是再赋值也不要加。

定义变量后,使用readonly+变量名声明只读。

使用unset+变量可以删除变量。


shell字符串

使用一个定义过的变量,只要在变量名前面加美元符号即可,变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界。

只有使用时才加$,其余情况即使是再赋值也不要加。

字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。【注意,这里不用引号指的是中间没有空格的情况】

单引号字符串的限制:

  • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;【因此当echo的内容需要较多的转义时,考虑‘’】
  • 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。

双引号的优点:

  • 双引号里可以有变量
  • 双引号里可以出现转义字符

在这里字符串的拼接不是用加号,而是直接邻接即可。 【这里直接相连,单引号,双引号,变量可以混用】

echo ${#string} 字符串长度

echo ${string:1:4} 注意,第一个是起始位置,第二个是截取的长度,不是截止位置

?查找自字符串


shell数组

在 Shell 中,用括号来表示数组,数组元素用"空格"符号分割开。【注意,这个数组可以包含多种不同类型的元素】

取元素方法与大多语言一致。使用array[@]可以获取全部元素。【使用@时,打印出来以空格分割】

长度:类似string,可以获取单个元素,也可以获取总个数${#string[@]}


shell注释

单行注释#

多行注释:<<EOF/'/!   EOF/'/!

猜你喜欢

转载自www.cnblogs.com/yjy2019/p/10474216.html