1.脚本的开头一行为 :
#!/bin/bash声明这个脚本需要的shell的名称
read -p ‘please input your first name: ‘ firstname首先是读取用户输入的read命令,输出的命令就是echo ,例如:
除了这种方式之外就是通过执行脚本时的参数的传递,在shell中参数名是内置的$0,$1,$2,$4...这里$0表示文件名,$1开始表示第一个参数,其他依次类推. 初次之外还有其他特殊的参数名,如下:
#!/bin/bash echo 'filename:'$0 echo 'args size: '$# echo 'first arg:'$1
1).declare - i var 可以将变量声明为整数,然后对变量进行运算,变量运算是这样的:$((计算式)) eg:
declare -i v1 declare -i v2 v3=$(($v1 + $v2)) #也可以这样计算: declare -i v3=$v1*$v2 #表达式之间不能有空格2).var=$((运算内容)) //运算内容中间是允许有空格的 eg:
echo $ (( 19 + 78))
shell中可以用test命令进行判断,eg:
test -e ./example.sh #测试文件是否存在
常见测试类型和参数如下:截图来自鸟哥的Linux私房菜
除了可以用test命令进行条件判断之外i,还可以用[] (中括号的语法进行判断,判断测试参数和test一样).
[]语法要求[]内的所有量之间均有空格,eg:
[b"$name"b==b"xiaoyi"b] #b都表示空格
if [ 条件判断1 ] ; then command1 elif [ 条件判断2 ] ; then command2 else command3 fi其中,条件可以用&&或者||进行连接
case $variableName in "第一个变量内容") 程序段 ;; #每个类型的结尾类似break "第二个变量内容") 程序段 ;; *)# 类似default 用* 代替 其他不符合条件的程序段 ;; esac
while [ condition ] do 程序段 done
until [ condition ] do 程序段 done
for var in cond1 cond2 cond3 ... do 程序段 done for ((初始值;限制值;执行步长)) do 程序段 done
function fname(){ 程序段 }examples:
#!/bin/bash # if --- else -- exmaple declare -i v1=10 declare -i v2=15 if [ $v1 -ge $v2 ] ; then echo ''$v1' is bigger than '$v2'' else echo ''$v1' is smaller than '$v2'' fi # case ... esac example read -p 'Please input your name : ' name case $name in "xiaoyi") echo 'hello xiaoyi' ;; "xiaoyi1") echo 'hello xiaoyi1' ;; *) echo 'no case matched!' ;; esac # loop example declare lv=1 while [ $lv -le 10 ] do echo $lv lv=$((${lv}+1)) done until [ $lv -le 1 ] do echo $lv lv=$((${lv}-1)) done for c in 'c1' 'c2' 'c3' do echo $c done for ((i=0;i<10;i=i+1)) do echo $i done function printHello(){ echo 'hello' } printHello
原文地址:http://blog.csdn.net/youmengjiuzhuiba/article/details/41408055