Shell脚本语言
使用Linux系统离不开终端,而终端中使用的各种命令既可以通过直接敲命令来执行,也可以放进脚本文件中按规则执行多行命令,类似python。由于Linux中使用的命令多与安装的库有关,内置的命令也相当多,此文仅对Shell语言本身的语法进行简述,方便快速查看。
1. 脚本开头与启动
Ubuntu中内置了bash和sh两种解释器,实际使用没有太大差别,可以任选一。新建空白文档,可以重命名后缀为.sh,在开头标注使用那种解释器方便系统调用:
#!/bin/bash
# 或者
#!/bin/sh
则可以使用./test.sh
来调用脚本。也可以使用/bin/sh test.sh
来调用,此时文档开头的标注不生效。
2. 数字变量
命名: 不论那种变量,命名规则基本跟C语言等多种编程一样,不得包含运算符和数字开头,不使用空格。
n=0 # 赋值
echo $n # 使用1,echo表示打印输出
echo ${n} # 使用2
readonly n # 设置n为只读变量
unset n # 删除变量n,注意不能删除只读变量
3. 字符串变量
可以使用" "
、''
或者不使用引号包裹,不过使用双引号包裹时可以使用转义字符和变量:
# 赋值
str0=hello world
str1='hello'
str2="${str1} world" # str2赋值为"hello world"
# 截取
str=www.csdn.com
str1=${str:1:4} # 选取第2到第5个字符:ww.c
str6=${str:4} # 选取从左数第5个字符到结束:csdn.com
str7=${str:0-3} # 选取从右数第3个字符到结束:com
str2=${str#*.} # 删除从左数第一个.及左边的字符:csdn.com
str3=${str##*.} # 删除从左数最后一个.及左边字符:com
str4=${str%.*} # 删除从右数第一个.及右边字符:www.cdsn
str5=${str%%.*} # 删除从右数最后一个.及右边字符:www
# 输出长度的两种方式
echo ${
#str}
echo `expr length $str`
echo `expr length "$str"` # 当str中含有空格时需要用双引号括起来
# for循环
str="aa bb cc"
for item in ${str} # for循环中会自动以空格分隔元素
4. 数组(列表)
arr=(