1,shell和shell脚本的区别
shell是用C语言编写的,是用户使用Linux的桥梁。
shell脚本是指为shell编写的脚本程序。
2,shell的种类
Bourne Shell(/usr/bin/sh 或者 /bin/sh) ---------------简称sh
Bourne Again Shell(/bin/bash) ----------------简称bash
3,shell脚本的执行和编写方式
#! /bin/bash ----------------用bash的方式执行该段脚本
echo "Hello World !"
#! /bin/sh ------------------用sh的方式执行该段脚本
echo "Hello World !"
执行方式,sh test.sh -------------------用sh的方式执行脚本,此种方式在脚本里面可以不用写#! /bin/sh
chmod +x ./test.sh
./test.sh
4,shell变量
your_name="wangwuguai" -----------变量定义方式
echo $your_name ------------变量读取方式
echo ${your_name} ------------变量读取方式
变量读取和使用方式只需要在前面加$符号即可,建议用{}将变量名括起来
4.1 只读变量(readonly)
myUrl="https://www.baidu.com"
readonly myUrl
4.2 删除变量(unset)
unset myUrl
4.3 变量类型
局部变量,环境变量,shell变量
4.4 shell字符串
shell字符串的定义可以用单引号,双引号,也可以不用引号
4.5 拼接字符串
your_name="qinxi"
greeting="hello, "${your_name}"qinxi !"
greeting1="hello , ${your_name}!"
4.6 提取字符串长度
string="abcd"
echo ${#string}
4.7 提取子字符串
string="runoob is a greet site"
echo ${string:1:4} ----------------输出为unoo
从string字符串的第2个字符开始截取4个字符
5,shell定义数组
array_name=(value0 vaule1 vaule2 vaule3 vaule4)
array_name=(
value0
vaule1
vaule2
vaule3
)
数组元素下标索引从0开始
另外还可以单独定义数组:
array_name[0]=vaule0
array_name[1]=value1
array_name[2]=value2
array_name[3]=value3
6,shell读取数组
echo ${array_name[n]} ------------读取第n个元素
echo ${array_name[@]} ------------读取数组中所有元素
7,获取数组长度
length=${#array_name[@]} ------------提取整个数组的长度
length=${#array_name[*]} ------------提取整个数组的长度
length=${#array_name[n]} -----------提取单个字符的长度
8,shell注释
#开头的就是注释