shell 脚本 学习案例解析

昨天大约花了一天的功夫整理了一些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



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值