shell 是什么?shell是沟通内核和命令行的润滑剂python
属于不须要解释的语言,便是编译型语言shell
那么python 和perl 都是解释型语言,执行效率更低vim
vim test.shbash
#!/bin/bash ##调用bash,用来解释一下这个脚本用什么解释器来解释less
echo "Hello World !!"函数
!wq ##强制退出菜单spa
vim test.sh #!/bin/bash your_name="Carlton" echo ${your_name}
{}的意思就是用来表示变量命令行
$0 当前脚本的文件名code
$n 传递给脚本或函数的参数。n 表示第几个参数进程
$# 传递给脚本或函数的参数个数
$* 传递给脚本或函数的全部参数
$$ 当前shell 进程ID,对于shell脚本,就是这些脚本所在进程的ID
$? 上个命令退出时候的状态
a=10 b=20 carlton=$[$a + $b] echo "a+b: $val" if [ $a=$b ]; then echo "a is equal to b" fi
if [ $a -lt $b ]; then echo "$a -lt $b: a is less than b" else echo "$a -lt $b: b is not less than b" fi
[ !false ] [ $a -lt 20 -o $b -gt 100 ] [ $a -lt 20 -a $b -gt 100 ] 均返回true
if [ -z $a ] then echo "-z $a : string length is zero" else echo "-z $a : string length is not zero" fi
z和n 是对立面
if 语句经过关系运算来判断表达式胡真假
if…fi
if..else..fi
if…elif…elif…fi
if…else…fi语句用于if两种结果分别执行什么样的命令。
写法:
if [ 条件 ] then 执行语句 若是if的条件为真 else 执行语句 若是if的条件为假 fi
if…elif…elif…if语句用于判断多个条件。
写法:
if [ 条件 ] then 执行语句 elif [ 条件 ] then 执行语句 else 执行语句 fi
case用于判断一个值的多种状况,不一样的状况执行不一样的命令
case 值 in 值1 执行语句 ;; 值2 ;; … esac echo 'Input a number between 1 to 4' echo 'Your number is:\c' read aNum case $aNum in 1) echo 'You select 1' ;; 2) echo 'You select 2' ;; 3) echo 'You select 3' ;; 4) echo 'You select 4' ;; *) echo 'You do not select a number between 1 to 4' ;; esac
while循环用于不断执行一系列命令,也用于从文件中读取数据。
写法
while 命令
do
执行语句
done
命令执行完毕,控制返回循环顶部,从头开始只到条件为假。
test=0 while [ $test -lt 5 ] do test=$[ $test + 1 ] echo $test done