shell脚本之菜单

本文详细介绍了如何使用Shell脚本创建一个交互式的菜单系统,通过选择不同的选项执行不同的命令。从基础的菜单结构到条件判断,再到循环处理,深入浅出地讲解了实现过程,并给出了实例代码供读者参考。
摘要由CSDN通过智能技术生成

#!/bin/bash
function copy()
{
    read -p "please input your old_file:" old_file  
    read -p "please input your new_file:" new_file
    cp -r $old_file $new_file
    if [ $? -eq 0 ];then
        echo "copy success!"
    fi
    sleep 1
    
}

function rename()
{

    read -p "please input your old_file:" old_file  
    read -p "please input your new_file:" new_file
    mv  $old_file $new_file
    if [ $? -eq 0 ];then
        echo "rename success!"
    fi
    sleep 1
}

function remove()
{

    read -p "please input you want to delete file or dir:" old_file  
    rm -rf $old_file 
    if [ $? -eq 0 ];then
        echo "delete success!"
    fi
    sleep 1
}

function find_file()
{

    read -p "please input the file you want to find:" old_file  
    find $PWD/ -name $old_file 
    if [ $? -eq 0 ];then
        
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用以下步骤编写Linux shell脚本菜单: 1. 首先,使用#!/bin/bash指定脚本使用的shell。 2. 定义菜单选项,可以使用echo命令输出菜单选项。 3. 使用read命令获取用户输入的选项。 4. 使用case语句根据用户输入的选项执行相应的操作。 5. 在每个选项执行完毕后,使用read命令等待用户输入,以便用户可以查看执行结果。 6. 最后,使用exit命令退出脚本。 例如,以下是一个简单的Linux shell脚本菜单: #!/bin/bash echo "请选择以下操作:" echo "1. 显示当前目录" echo "2. 显示当前时间" echo "3. 显示当前用户" echo "4. 退出" read option case $option in 1) pwd read -p "按任意键继续..." ;; 2) date read -p "按任意键继续..." ;; 3) whoami read -p "按任意键继续..." ;; 4) exit ;; *) echo "无效的选项" read -p "按任意键继续..." ;; esac exit ### 回答2: Linux shell脚本编写菜单是在用户交互的方式下,通过命令行界面提供一个菜单引导用户操作的一种程序编写方式。 脚本编写过程: 1. 定义菜单项 使用变量定义菜单项,每个菜单项对应一个数字编号或者字母,例如: ``` Bash option1="1. 获取当前系统时间" option2="2. 显示系统版本信息" option3="3. 查看最近一次登录信息" option4="4. 退出程序" ``` 2. 显示菜单 将定义的菜单到屏幕,使用echo命令实现,例如: ``` Bash echo "======脚本菜单======" echo $option1 echo $option2 echo $option3 echo $option4 ``` 3. 读取用户输入 利用read命令读取用户的输入,例如: ``` Bash read -p "请输入操作编号:" num ``` 4. 判断用户输入 使用if语句判断用户输入的内容,例如: ``` Bash if [ $num -eq 1 ]; then # 执行操作1的指令 elif [ $num -eq 2 ]; then # 执行操作2的指令 elif [ $num -eq 3 ]; then # 执行操作3的指令 elif [ $num -eq 4 ]; then exit else # 输入非法,重新显示菜单 echo "输入非法,请重新输入" fi ``` 5. 添加交互逻辑 可以在每个操作中添加交互逻辑,例如: ``` Bash if [ $num -eq 1 ]; then echo "当前系统时间为:" date elif [ $num -eq 2 ]; then echo "系统版本信息为:" cat /etc/issue elif [ $num -eq 3 ]; then echo "最近一次登录信息为:" last elif [ $num -eq 4 ]; then exit else echo "输入非法,请重新输入" fi ``` 通过以上步骤,就可以完成一个简单的脚本菜单程序了。在实际开发中,可以根据需要增加更多的操作和交互逻辑,使程序更加实用。 ### 回答3: Linux shell脚本编写菜单,可以方便用户对于某些操作进行快速选择,提高脚本的可重用性和易用性。下面介绍一些实现菜单的方法。 一、利用case语句实现菜单 利用case语句实现菜单是比较常见的一种方式,可以将用户的选择与相应的操作进行匹配。例子如下: ``` #!/bin/bash while true do echo "请选择:" echo "1. 操作1" echo "2. 操作2" echo "3. 操作3" echo "4. 退出" read choice case $choice in 1) echo "你选择了操作1" #执行操作1 ;; 2) echo "你选择了操作2" #执行操作2 ;; 3) echo "你选择了操作3" #执行操作3 ;; 4) echo "退出程序" break ;; *) echo "输入错误,请重新输入" ;; esac done ``` 二、使用select语句实现菜单 select语句也是一种实现菜单的方法,可以将用户的选择与数组中的选项进行匹配,最后执行相应的操作。例子如下: ``` #!/bin/bash options=("操作1" "操作2" "操作3" "退出") select opt in "${options[@]}" do case $opt in "操作1") echo "你选择了操作1" #执行操作1 ;; "操作2") echo "你选择了操作2" #执行操作2 ;; "操作3") echo "你选择了操作3" #执行操作3 ;; "退出") echo "退出程序" break ;; *) echo "输入错误,请重新选择.";; esac done ``` 三、使用dialog库实现菜单 dialog库提供了丰富的交互界面功能,可以实现各种菜单和对话框。例子如下: ``` #!/bin/bash title="请选择" prompt="请选择一项操作:" options=("操作1" "操作2" "操作3" "退出") while opt=$(dialog --clear --backtitle "$title" --title "$prompt" --menu "" 10 50 4 "${options[@]}" 2>&1 >/dev/tty) do case $opt in "操作1") echo "你选择了操作1" #执行操作1 ;; "操作2") echo "你选择了操作2" #执行操作2 ;; "操作3") echo "你选择了操作3" #执行操作3 ;; "退出") echo "退出程序" break ;; *) echo "输入错误,请重新选择.";; esac done ``` 以上三种方法都可以实现菜单功能,可以根据具体需求选择适合自己的方式。无论哪种方式,我们需要注意一些细节,如对用户输入的错误处理、菜单的界面美观程度、执行过程中的错误提示等。对于编写好的菜单,经常进行测试和完善可提高脚本的可用性和可读性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值