Linux--Shell

shell
1.创建变量
使用等号直接赋值,变量名只能以以字母和下划线开头,等号不能有空格 echo输出内容

[root@donglian ~]# str="My name is Sam"
[root@donglian ~]# echo $str
My name is Sam

2.单引号与双引号的区别:
单引号里的任何字符都会原样输出,再拼接的时候会出现时无法显示变量内容,且无法使用转移字符,所以建议使用双引号
[root@donglian ~]# str1='this is a string'

[root@donglian ~]# your_name='donglain'
[root@donglian ~]# str="Hello, I know you are "$your_name"! "
[root@donglian ~]# echo $str
Hello, I know you are "donglain"!

3.通过索引 提取字符串的
索引第一位是0,没有步长切片
echo ${str:2:6}


[root@donglian ~]# echo $str
Hello, I know you are "donglain"!
[root@donglian ~]# echo ${str:2:6}
llo, I
[root@donglian ~]# echo ${str:2:7}
llo, I
[root@donglian ~]# echo ${str:2:8}
llo, I k


4.查找字符串索引值
通过查找字符发现索引从1开始计算

echo `expr index "$str" I` 脚本中的 `是反引号,不是'单引号

[root@donglian ~]# echo $str
Hello, I know you are "donglain"!
[root@donglian ~]# echo `expr index "$str" I`
8
[root@donglian ~]# echo `expr index "$str" H`
1


5.shell数组
类似Python的元组不过是以空格隔开,可以通过索引值

直接赋值添加
root@donglian ~]# array=(val0 val1 val2)


通过索引添加
[root@donglian ~]# array_name[0]=val0
[root@donglian ~]# array_name[1]=val1

读取数组

${数组[下标]}
[root@donglian ~]# echo ${array[1]}
val1

显示所有元素

[root@donglian ~]# echo ${array[@]}
val0 val1 val2


shell注释
单行注释#

多行注释
默认使用EOF对应开头结尾 或者使用其他符号

:<<EOF
注释内容...
注释内容...
注释内容...
EOF


:<<!
注释内容...
注释内容...
注释内容...

原文地址:https://www.cnblogs.com/donglian1/p/12883872.html