shell文件后缀为.sh文件
用#注释
用echo 或 printf 输出
一个简单的实例
#!/bin/bash
echo "Hello World !"
运行一个.sh文件
chmod +x ./test.sh ./test.sh
shell 变量
定义变量:a="hello" b=1
输出变量: echo ${a} 或 echo $b 或 echo ${a} "world"
使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。readonly a
删除变量:unset a 变量被删除后不能再次使用。unset 命令不能删除只读变量。
shell 字符串
shell中主要使用数据和字符串
字符串可以用单引号也可以用双引号
单引号中不能出现转义字符“” 和变量,双引号中可以。
获取字符串长度:${#a}${a:1:2}
查询子字符串:expr index $a e
shell 数组
定义一个数组: array=(a b c d)
读取数组中的全部元素: ${array[@]}
将数组转为字符串:${array[*]}
获取数组长度:${#array}
shell运算符
算数运算符:
关系运算符:
布尔运算符:
逻辑运算符:
字符串运算符:
文件测试运算符:
shell 流程控制
if else
if condition then ... elif condition then ... else ... fi
for
for var in a b c d do .... done
while
while conditon do .... done
until
until [condition] do .... done
case
case $a in 1) ....;; 2) ....;; 3) ....;; *) ....;; esac
shell 函数
func(){ echo $1 } func() a
shell 向脚本传递参数
#!/bin/bash echo "执行的文件名:$0"; echo "第一个参数为:$1";
输出结果如下所示:
$ chmod +x test.sh $ ./test.sh 1 执行的文件名:./test.sh 第一个参数为:1