正如标题所说,我试图制作一个用户输入数字为1-7的程序,然后为每个数字显示相应的命令。
我遇到的问题是找到一个将每个数字设置为命令的好方法。
起初,我想过做这样的事情。
OSI=$(uname -a)
echo $OSI
但问题实际上是将它实现为循环。让我们说用户是这样提示的:
"Enter a number:"
用户输入数字1,数字1是OSI。好吧,如果用户选择数字2,则需要显示不同的命令,依此类推。
对于像我这样的初学者来说,这有点太复杂了。我通过论坛和不同的帖子阅读,但我无法弄清楚实现这一目标的正确命令。
我尝试过做这样的事情而且失败了:
#!/bin/bash
read -p "Enter a number:" n1 n2 n3 n4 n5 n6 n7
if n1=1; then
uname - a
else n2=2; "different command"
fi
我意识到我在bash上完全是垃圾。我并没有要求任何人解决这个问题,只是以对我有意义的方式给我一些指示。
感谢。
答案 0 :(得分:0)
试试这个测试版本:
#!/bin/bash --
printf "menu items:\n 1) uname -a\n 2) date\n q) exit\n"
read -p "Enter your choice: " response
if [ -z "$response" ] ; then
printf "Choice invalid\n"
exit 1
fi
if [ "$response" = q ] ; then
exit 0
fi
if [ "$response" = 1 ] ; then
uname -a
elif [ "$response" = 2 ] ; then
date
else
printf "Choice invalid\n"
fi
由@EdMorton撰写案例是一个更好的选择。