shell是一个用C语言编写的程序,是一种命令语言,是一种服务器语言。
变量
- 定义:name="shangsan"
- 销毁:unset name
- 打印:echo $name 或者 echo ${name}
- 定义常量:readonly Pi=3.14
定义变量的时候,“=”两边不能有空格;变量被销毁后不能再使用。
注意:
在shell中,加单引号的字符不会被解析;
加双引号的字符,特殊符号不会被解析,如:$,\;
使用反引号,会作为命令使用。
变量分类
- 本地变量
脚本文件中的变量。 - 环境变量
整个系统都可以使用的变量。
a. 家目录下的隐藏文件.bashrc
b.将export PATH=$PATH:脚本的路径
c.source ~/.profile 让所有文件生效 - 位置变量
$0:表示脚本名字
$1~9:传递给脚本的参数
$*:匹配到的所有参数 - 特殊变量
$#:传递给脚本的参数个数
$?:返回上次执行命令的结果,0表示成功,其他表示错误
数值计算
a=1
let a+=1
#((a+=1))
echo $a
分支语句、循环
- 比较符号
-lt 小于
-le 小于等于
-gt 大于
-ge 大于等于
-eq 等于
-ne 不等于
if [ 1 -lt 3 -a 2 -lt 3 ];then
echo "ok"
fi
if [ 1 -lt 3 ] && [ 2 -lt 3 ];then
echo "ok2"
fi
if [ ! 1 -gt 3 ];then
echo "ok3"
fi
- 逻辑符号
-a 逻辑与,可以使用&&
-o 逻辑或,可以使用||
! 逻辑非
##分支1
if [ 1 -lt 2 ];then
echo "ok"
fi
if test 1 -lt 2;then
echo "ok"
fi
##分支2
if [ 1 -gt 2 ];then
echo 1
elif [ 3 -gt 2 ];then
echo 2
else
echo 3
fi
##分支3
read -p "please input a character:" ch
case $ch in
[a-z])
echo "xxx"
;;
[0-9])
echo "number"
;;
*)
echo "other"
;;
esac
if语句中,若使用[],则必须要注意“[“右边加一个空格,“]”左边加一个空格
a=(1 2 3)
#for x in ${a[*]} #写法1
#for x in 1 2 3 #写法2
#for x in /etc/* #写法3
for x in {1..5} #写法4
do
echo $x
done
总结:shell也是一门语言,一些语句的写法与用法大都与Python大同小异。学习一门语言之前,先要从掌握基础开始,此次就是多练习,才算是入门。
网友评论