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