一:初
建立shell文件
vim myShell.sh
编写文件
#!/bin/bash //shell文件用bash编译
echo "hello world" //不需要分号
给执行权限
chmod 744 myShell.sh
执行shell文件
./myShell.sh
二:变量的创建
变量的定义规则
1.变量可以由字母,数字,下划线组成,但是不能用数字开头
2.等号的两侧不能有空格
3.变量名一般为大写
普通变量
A=100
echo "A=$A" //变量定义不需要干啥,但是使用时要加上$
静态变量:
readonly A=99
echo "A=$A"
变量的反回值
MY_DATE = $(date) //将日期赋予MY_DAT 或者'date'也可
echo "date=$MY_DATE"
多行注释:
:<<!
注释内容
!
三:设置环境变量
export 变量名=变量值 (将shell变量输出为环境变量)
source 配置文件 (让修改后的配置信息立即生效, 配置文件一般为/etc/profile)
echo $变量名 (查询环境变量的值)
四:位置参数变量
获取文件外面的值
文件外
positionPara.sh 10 20
文件内:
echo $0 $1 $2
执行后
$0 是本身, $1是10, $2是20
还有$* $@ 是集合,$#是参数总数
五:预定义变量
$$ 当前进程号
$! 最后一个进程号
$? 最后一次执行的进程号,根据返回值1或0判断是否进程执行成功
六:运算符
$((运算式))或者$[运算式]
expr m + n (expr表达式里面的运算符之间都要加空格)
expr \* 乘号,需要转义
七:判断语句
[ 条件 ] (中括号的条件的两边要有空格)
if [ 23 -gt 22 ]
then echo"大于"
elif [ 24 -gt 22 ]
then echo"sss"
fi
如果23大于等于22就输出大于
八:case语句
case $变量名 in
"值1")
变量为值1则执行这里的语句,下面;;表示结束
;;
"值2")
变量为值1则执行这里的语句
;;
*)
默认执行
;;
esac
九:for语句
1:
for 变量 in 值1 值2 值3
do
程序
done
2:
for((初始值;循环控制语句;变量变化))
do
程序
done
十:while语句
while[ 条件判断式 ]
do
程序
done
十一:read
read -p 读取控制台输入的值并赋予num1
read -p "please write a num " NUM1
echo "you write num is $NUM1"
-t是在规定时间为10秒内没有输入时就会直接执行下面的语句
read -t 10 -p "please write a num " NUM2
echo "the else num is $NUM2"
十二:自定义函数
函数构建
function getSum(){
SUM=$[$n1+$n2]
echo "the sum is $SUM"
}
read -p "please enter the first number n1" n1
read -p "please enter the first number n2" n2
函数调用
#call
getSum $n1 $n2