linux实验五shell脚本编写

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,至此分享完成。

猜你喜欢

转载自blog.csdn.net/qq_45477065/article/details/124676405