写一个shell命名read -p的脚本 键值被下面命令所引用
时间: 2024-03-06 22:46:54 浏览: 67
shell脚本命令
可以使用以下代码实现一个类似于`read -p`的脚本,并将用户输入的值赋给一个指定的变量:
```bash
#!/bin/bash
# 读取用户输入并存储到指定的变量中
read_with_prompt() {
local prompt message variable value
# 获取提示信息和变量名
prompt="$1"
variable="$2"
message="$3"
# 显示提示信息
if [ -n "$message" ]; then
echo "$message"
fi
# 读取用户输入
read -p "$prompt" value
# 将用户输入存储到指定的变量中
eval "$variable=\"$value\""
}
# 示例用法
read_with_prompt "请输入您的姓名:" name "欢迎使用read_with_prompt脚本!"
echo "您好,$name!"
```
这个脚本的用法与`read -p`类似,除了多了一个参数来指定要存储用户输入的变量名。在示例中,我们使用`read_with_prompt`函数读取用户的姓名,并将其存储到`name`变量中。然后我们输出欢迎信息,其中使用了`$name`变量的值。
注意,为了将用户输入的值存储到指定的变量中,我们使用了`eval`命令。这个命令可以执行给定的命令,并将其输出作为结果返回。在这里,我们使用`eval`将一个赋值语句作为命令执行,从而将用户输入的值存储到指定的变量中。
在使用这个脚本时,可以使用`${variable}`语法来引用存储用户输入的变量的值。例如,在示例中,我们使用`$name`来引用存储用户姓名的变量。
阅读全文