【发布时间】:2024-12-13 15:40:02
【问题描述】:
我有一个 Shell 脚本可以在一个菜单中执行 4 个任务。 到目前为止我的代码是(我猜是基本的)没有菜单。我希望它在开始时添加菜单,并且我尝试了很多方法(使用 case 语句、if else 和 while 循环)。什么都没有解决。
#!/bin/bash
cd /
echo "1. Basic Details"
echo "2. CPU Information"
echo "3. Network information"
echo "4. All"
echo "5. Cancel"
read option
if [ $option -eq 1 ];then
echo ">>>>> Server Name, Date, UPtime <<<<<"
echo "====================================="
echo "Date :- `date`"
echo " "
echo "Host Name :- `hostname`"
echo " "
echo " OS Version"
oslevel -g
echo " "
echo " UPTIME :- "
uptime
echo " "
echo " "
elif [ $option -eq 2 ];then
echo ">>>>> CPU and Memory Info. <<<<<"
echo "====================================="
echo " "
echo
echo " CPU :- `lsdev | grep Processor | wc -l`"
echo " "
echo " Memory :- `lsattr -El mem0 | tail -1`"
echo " "
echo " "
echo "====================================="
echo ">>>>> Important Kernel Params. <<<<<"
echo "====================================="
echo " "
echo "****************************************"
echo " "
lsattr -El aio0
elif [ $option -eq 3 ];then
echo ">>>>> Memory Usage Information <<<<<"
um=`svmon -G | head -2|tail -1| awk {'print $3'}`
um=`expr $um / 256`
tm=`lsattr -El sys0 -a realmem | awk {'print $2'}`
tm=`expr $tm / 1024`
fm=`expr $tm - $um`
ump=`expr $um \* 100`
ump=`expr $ump / $tm`
echo " "
echo "Memory Used :- "$ump"%"
echo " "
echo "----------------------";
echo "Memory Information\n";
echo "total memory = $tm MB"
echo "free memory = $fm MB"
echo "used memory = $um MB"
echo "-----------------------\n";
echo " "
echo " "
else
echo "Enter correct option"
fi
请提出更正建议。未在脚本中添加选项 4(我需要它来显示所有信息)
【问题讨论】:
-
@RavinderSingh13 你能帮我吗
-
您可能会发现使用 shell 的
select..in构造更容易。除此之外,当问题陈述很简单时,很难提供解决方案"it doesn't work"。请edit您的问题更完整地描述您预期会发生什么以及这与实际结果有何不同。请参阅 How to Ask 以获取有关什么是好的解释的提示。 -
看看dialog。