📜  bash 获取用户输入 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:13:38.046000             🧑  作者: Mango

Bash 获取用户输入 - Shell-Bash

在Shell脚本中,获取用户输入非常常见。Bash作为Shell脚本的一种实现,也提供了多种方式来获取用户输入。下面将介绍一些常用的方法。

读取命令行参数

Shell脚本可以像其他命令一样接收参数,这些参数可以在脚本中使用。例如,我们可以编写一个脚本,计算两个数字的和:

#!/bin/bash

sum=$(($1 + $2))
echo "The sum of $1 and $2 is: $sum"

在命令行中执行脚本并指定两个参数:

$ ./sum.sh 2 3
The sum of 2 and 3 is: 5

在脚本中,我们使用 $1$2 来获取第一个和第二个参数。$0 指的是脚本的名称。

用read命令获取用户输入

如果脚本需要从用户那里获取输入,可以使用 read 命令来实现。read 命令会等待用户输入,直到用户按下 Enter 键。下面是一个例子:

#!/bin/bash

echo "What is your name?"
read name
echo "Hello, $name!"

在这个例子中,我们使用 read 命令获取用户输入的名称,并将其存储在 name 变量中。

用read命令获取密码

如果脚本需要从用户那里获取密码,可以使用 read 命令并指定 -s 标志来隐藏输入的字符。下面是一个例子:

#!/bin/bash

echo "Enter your password:"
read -s password
echo "Your password is: $password"

在这个例子中,我们使用 read 命令将用户输入的密码存储在 password 变量中。由于 -s 标志的存在,用户输入的字符将被隐藏起来。

用select命令创建菜单

如果脚本需要在多个选项中让用户进行选择,可以使用 select 命令来创建菜单。select 命令会在命令行中显示一个菜单,并等待用户选择。下面是一个例子:

#!/bin/bash

options=("Option 1" "Option 2" "Option 3" "Quit")

select opt in "${options[@]}"
do
    case $opt in
        "Option 1")
            echo "You chose option 1"
            ;;
        "Option 2")
            echo "You chose option 2"
            ;;
        "Option 3")
            echo "You chose option 3"
            ;;
        "Quit")
            break
            ;;
        *) echo "Invalid option";;
    esac
done

在这个例子中,我们使用 select 命令将选项存储在 options 数组中,并等待用户选择。当用户选择一个选项后,脚本会执行相应的操作。如果用户选择退出,脚本会跳出 select 循环。

以上是一些常用的Bash获取用户输入的方式,可以根据具体情况选择使用。