有没有一种方法可以提示用户并在同一行上进行读取,但是将要读取的变量设置为条件变量?
类似这样的东西:
read -p "Enter input: " [ if some condition=true varA else varB ]
read
的手册页似乎并不暗示这是可能的。
答案 0 :(得分:1)
只需输出字符串...
read -p "Enter input: " "$(if some condition=true; then echo varA; else echo varB; fi)"
答案 1 :(得分:1)
我不会尝试一行执行此操作。
if ...; then
var=varA
else
var=varB
fi
read -p "Enter input" "$var"
read
的参数是变量的 name ,因此您可以在调用read
时将该名称存储在另一个变量中,以进行扩展。
或者,只需将输入读入固定变量,然后然后将其值分配给正确的变量。
read -p "Enter input" response
if ...; then
varA=$response
else
varB=$response
fi