菜单驱动的 Shell 脚本 bash

use*_*995 1 linux bash shell menu

作为一个完整的新手,我正在尝试制作一个 Shell 脚本。这将由带有删除文件等选项的菜单驱动。例如,当菜单打开时,我感到困惑的部分是如何从按“1”到实际创建一个新文件(因为这是我菜单上的选项 1)我很欣赏这可能不是最简单的需要理解的问题,因为我对技术术语的使用是有限的,但我希望得到任何帮助。下面是我的菜单第一部分的示例。我觉得一旦我知道从哪里开始我就会好的 Menu

[1] Create File
[2] Delete File
[3] Rename file
Run Code Online (Sandbox Code Playgroud)

Gil*_*not 5

尝试这样做,例如:

select x in "Create File" "Delete File" "Rename file"; do
    echo "$x choosen"
    break
done
Run Code Online (Sandbox Code Playgroud)

样本输出

1) Create File
2) Delete File
3) Rename file
> 
Run Code Online (Sandbox Code Playgroud)

select此处条件构造段落中搜索

走得更远

$x使用变量的结果运行某些特定任务,您可以使用如下case语句(如switch在其他语言中):

case $x in
    Create*) touch file.txt ;;
    Delete*) rm -f file.txt ;;
    Rename*) mv file.txt file_old.txt ;;
esac
Run Code Online (Sandbox Code Playgroud)