shell脚本1
第一天变量:
1.变量名=变量值 #等号两边不能有空格
2.输出变量值:echo $变量名
3.释放变量:unset 变量名
4.变量命名规则:不能以数字开头,由字母和数字和_组成
5.定义有空格的变量值(只需要单引号或者双引号):name1="zhao chun"或者name='zhao chun'
6.单引号和双引号的区别:name="$name1 bo" echo name输出zhao chunbo 如果是单引号会原样输出'$name1 bo'
7.定义linux命令:n='ls' (反单引号,esc下面) echo $n就会执行ls命令;但是如果n=ls echo $ls就会只输出ls
8..定义shell脚本时:cd /ect这种不需要输出结果的就不用定义为变量,直接在脚本里加上就行
9.键盘输入read相当于python的input,可以接多个变量,例:read a a1 然后输入也以空格隔开
1)read添加提示信息:read -p "提示的内容" 变量名
10.文件接收传来的数据:
echo "接收第一个传过来的参数$1"
echo "只能接收第四个参数$4否则$4不打印其他打印"
echo "显示此sh文件的名字$0"
文件外执行:sh text.ssh 100 200 300 400
10.重定向正常的命令:命令 1> 重定向不覆盖原来的内容(追加):>> 例:ls l(数字1不是字母)>a.txt
错误的命令重定向:命令 2>
11.条件语句:if [ 条件 ] then 语句 else 语句 fi,例:
read -p "请输入目录:" dir
b=`ls $dir`
if [ "$b" == "" ] :then
echo "目录为空"
else
echo "目录不为空"
fi 缩进只是为了美观,不需要缩进的
12.运算符:比较运算符(字符串):==和!= 逻辑运算符:-a与 -o或 !非 比较运算符(数字):相等-eq,不相等-ne,大于-gt,大于等于-ge,下于-lt,下于等于-le
例:if [ 5 -ge 3 -a 5 -le 10 ]假如5大于等于3或者小雨等于10
13.变量+1有5种方式:i++或者i=$($i+n)
变量+-*/用a=$(($a1+$a2))用$和双括号
14.else then ...elif then....else
15.case $变量名 in
"值")
语句;; #这个'可能是没有的
"值")
语句;;
...
*) #上面都不是的话,默认执行下面的
语句;;
esac
16.表示区间:[0-5]
17.循环
for 变量名 in 1 2 3 4 5 (列表之类的)
do
语句
done
seq start size max(例:seq 1 2 10就是从1到10步长为2的数即1,3,5,7,9)