使用默认值读取bash中的变量而不使用-i选项

时间:2014-06-05 07:21:08

标签: bash

我想在 Bash 3.x 上询问带有可编辑默认值的用户输入。这可能吗?

在Bash 4中,下面有效,但此处-i没有实现切换。

name="Alex"
read -e -i "$name" -p "Please enter your name: " input
name="${input:-$name}"

2 个答案:

答案 0 :(得分:0)

在BASH< 4中你可以这样做:

name="Alex"
read -p "Please enter your name: " input && [[ -z "$input" ]] && input="$name"

如果read var为空,则基本上在input之后检查,然后将其设置为$name

答案 1 :(得分:0)

不完全是你可以做的事情:

name="Alex"
read -e -p "Please enter your name [$name]: " input
name="${input:-$name}"

用户将无法编辑名称,但仍将其视为默认值。不完全是你想要的。我想你可能已经考虑过了......