Linux实验五shell脚本编写
1、从键盘读取用户名和密码,与系统中存储的用户名和密码进行匹配,匹配成功,显示welcome,否则显示出错信息
这里我一开始以为是要与/etc/shadow文件做对比,那玩意是加密的,我问老师怎么做,她说主要是为了让大家联系shell编程里的分支,直接在里边预设就可以。这样就简单多了,
先编辑一个文件。
vi mima.sh
然后按键盘上的i键进入编辑模式
开始输入脚本内容。这里边有几个需要注意的格式。
1、文件中的所有引号都是英文模式下的。
2、if后边是要跟空格的。
3、中括号前后都要有空格。
4、引号前后也要有空格。
5、等于号前后也要有空格。
6、if分支结束后记得使用fi结束。
#! /bin/bash
read -p “uname:” uname #-p是输出提示,uname,然后接受来自键盘的值赋给uname
read -p “upwd:” upwd
if [ "$uname" == "zhr" ] #使用$uname调用变量,判断是否与后方的字符串相等。
then
if [ "$upwd" == "123" ]
then
echo "welcom"
else
echo "pwd error"
fi
else
echo "uname error"
fi
编辑完成后,先按下esc键,然后输入:wq再敲回车,保存并退出。
然后赋予这个文件执行权限。
chmod 755 mima.sh
执行这个文件
./mima.sh
2、编写bash程序实现简单计算器功能:输入算式(如4*5)程序能够根据算式给出.
这里只计算加减乘除。主要就是判断输入的运算符,来选择合适的运算方式。
vi ./jisuanqi.sh
#! /bin/bash
#ji suan qi jiao ben
read -p "请输入第一个数字:" num1 #因为我是在xshell里运行的,所以有中文。
read -p "请输入运算符:" fu
read -p "请输入第二个数字:" num2
if [ "$fu" == "+" ]
then
echo $num1+$num2=$(($num1+$num2)) #运算是$((1+1))
elif [ "$fu" == "-" ]
then
echo $num1-$num2=$(($num1-$num2))
elif [ "$fu" == "*" ]
then
echo $num1*$num2=$(($num1*$num2))
elif [ "$fu" == "/" ]
then
if [ "$num2" -ne 0 ]
then
echo $num1/$num2=$(($num1/$num2))
else
echo "错误!不能除以0,请检查算式重新输入。"
fi
else
echo "错误!请检查运算符再次执行脚本!"
fi
赋予文件可执行权限
chmod 755 jisuanqi.sh
执行脚本。按照提示进行输入即可。
./jisuanqi.sh
ok,至此分享完成。