今日小练题目📢
写一个脚本实现如下功能: 输入一个数字,然后运行对应的一个命令。 显示命令如下: cmd meau* 1—date 2–ls 3–who 4–pwd 当输入1时,会运行date, 输入2时运行ls, 依此类推。
优秀作业🤌🏻
#!/bin/bash
#author:xYLiuuuuuu
#date:2024-11-24
echo "*cmd meau** 1-date 2-ls 3-who 4-pwd"
while :
do
read -p "please input a number 1-4: " n
case $n in
1)
date
break
;;
2)
ls
break
;;
3)
who
break
;;
4)
pwd
break
;;
*)
echo "Wrong input, try again!"
;;
esac
done
敲黑板📝
- read命令
-p 指定一个提示
-t 指定等待输入的秒数,当计时满时,read命令返回一个非零退出状态
if read -t 5 -p "输入网站名:" website
then
echo "你输入的网站名是 $website"
else
echo "\n抱歉,你输入超时了。"
fi
-n 设置read命令计数输入的字符,当输入字符数达到预定数目时,自动退出,并将输入的数据赋给变量
-s 使read命令中输入的数据不显示在命令终端上
# cat 命令的输出作为read命令的输入,read读到>的值放在line中
cat test.txt | while read line
- case ... esac 这种逻辑判断用法,非常适合做选择题,尤其是选项很多时,选项也可以有多个值,比如1|5)
- 如果想要反复和用户交互,必须使用while循环,并借助break或者continue来控制流程循环
- break表示退出循环体,continue表示结束本次循环,进入下一次循环
- while和冒号之间要有分隔!!!