昨天大约花了一天的功夫整理了一些shell脚本语言中语法知识,顺便写了很多的案例,分享给大家!
#!/bin/sh echo "This is the first shell script!" #=============This is comment.============ #==================变量=================== a="hello world!" echo $a echo "I am student. $a" #=================算术运算================= #加法 num=1 let num1=num+1 num2=$[ $num + 1] num3=`expr $num + 1` num4=$(($num + 1)) echo $num1 $num2 $num3 $num4 #乘法 r=`expr 4 \* 5` r=$(( 4 * 5 )) r=$[ 4 * 5 ] echo $r #除法 r=`expr 40 / 5` r=$(( 40 / 5 )) r=$[ 40 / 5 ] echo $r #================控制语句=================== #判断控制语句-if if [ "$SHELL" = "/bin/bash" ]; then echo "your login shell is the bash" else echo "your login shell is not bash but $SHELL" fi #判断控制语句-case caseVar="a" case $caseVar in "a") echo "this is a";; "b") echo "this is b";; "c") echo "this is c";; * ) echo "this is not an alphbet";; esac #选择控制语句-select echo "What is your favourite OS?" select var in "Linux" "Gnu Hurd" "Free BSD" "Other"; do break done echo "You have selected $var" #循环控制语句-while whileVar=1 while (( $whileVar != 10 )); do echo $whileVar whileVar=$(($whileVar+1)) done #循环控制语句-for for var in A B C ; do echo "var is $var" done #==============函数=================== function fSum() { echo $1, $2; return $(($1+$2)); } fSum 1 2 echo "functionResult=$?" #=============实例==================== #1.计算10的阶乘 factorial=1 for a in `seq 1 10`; do factorial=$(($factorial * $a)) done echo "10! = $factorial" #2.执行后,打印一行提示“Please input a number:", # 要求用户输入数值,然后打印出该数值,然后再次要求 # 用户输入数值。直到用户输入"end"停止 unset var while [ "$var" != "end" ]; do echo -n "please input a number: " read var if [ "$var" = "end" ]; then break fi echo "var is $var" done #============命令行参数=============== # $0为程序路径和名称,$1 ...$9 ${10}参数 # $#参数的个数 echo `basename $0` if [ $# != 2 ]; then echo "parameters must two!" fi
原文:http://blog.csdn.net/ict2014/article/details/19675957