Shell语言编程总结:
给出一个shell编程:
典型特征是:
第一行 #! /bin/bash 表示该程序由 /bin/bash 进行执行解析
Shell 程序的注释用 # 进行表示, # 表示单行注释
Shell 程序如果要进行数学运算,需要把计算表达式用 $(( )) 括起来
基本的变量的赋值:Shell 中的变量赋值不需要预先定义再使用,可以直接使用。
变量与变量内容以一个等号“=”来连接
等号两边不能接空格符
变量名称只能是英文字母与数字,但是开头字符不能是数字。
变量内容若有空格符可用双引号“” 或者 单引号 ‘’ 将变量内容结合起来
单引号内的特殊字符仅为一般字符(纯文本)
可用转义字符“ \ ”(反引号) 将特殊符号变成一般字符
如果需要其他命令的执行结果再进行赋值可以使用 反引号 `命令` 或 $(命令)
Shell 参数 、 Shell 函数参数:
例:$0$1 $2 $3
$0 为脚本本身的名字 ./script
$1 为脚本后面的第一个参数$# :(常用)代表后面接的参数“个数”
$@:(常用)代表 “$1” "$2" "$3" "$4"
$*: 代表 “$1c$2c$3c$4”其中c为分割字符,默认为空格键,所以本例中代表 “$1 $2 $3 $4”对于Shell 里面的函数也是一样的
$0:Shell 脚本的名字
$1: Shell 函数的第一个参数
$2 : Shell 函数的第二个参数
实例:
#!/bin/sh
echo "The first parameter is $0"
echo "The second parameter is $1"
echo "The whole parameters is $@"
echo "The parameters num is $#"
arr=("$@")
echo ${arr[0]}
echo ${arr[1]}
function a(){
echo "What's this? $0;"
echo "What's this? $1;"
echo "The whole function parameters are $@ "
echo "The whole function parameters are $# "
echo "The whole function parameters are $*"
}
a 10 11;
shell数组:
示例:
a=(1 2 3) /
arr=("$@")
即可定义一个数组,数组中有三个元素 1 ,2 ,3
获取数组的元素: (数组的下标是从1开始的)
echo ${a[0]} //打印数组的第一个元素
echo ${a[1]} //打印数组的第二个元素
获取数组长度等:
数组元素个数/长度 ${#array[@]} //即得到所有元素,利用 # 得到长度。
字符串的长度: ${#str}
Shell 的函数:
Shell 函数的返回值一定要是整数,否则会报错要得到函数的返回值,可以用 $? 来获取上一条命令执行的结果进行获取
Shell 的条件控制:
注意 Linux的判断式,两端需要有空格
if条件:
if [ 条件判断式 ]; then
程序段
fi
if [[ 条件判断式 ]]; then
程序段
fi
if else:
if [ 条件判断式 ]; then
程序段
else
程序段
fi
if elif else:
if [条件判断式一]; then
程序段
elif [条件判断式二]; then
程序段
else
程序段
case esac:
case $变量 in
"A变量")
程序段
;;
"B变量")
程序段
;;
*)
程序段
;;
esac
Shell 的 循环控制 :
while:
while [ condition ]
do
程序段落
done
until:
until [ condition ]
do
程序段
done
for in:
for var in con1 con2 con3 ...
do
程序段
donefor:
for (( 初始值; 限制值; 执行步长))
do
程序段
done
感悟:
shell编程的有点在于,可以使用虚拟机进行对完成编写的程序实时保存,保存在文件夹中,在二次使用时,直接打开虚拟机的程序编写环境,即可进行对原有编写的程序进行查看运行。