我使用dialog命令提示用户输入。结果是每行上的文本对应于字段的值。
我想将每一行分配回与该字段对应的变量。这样我就可以轻松构造控制流和.ini类型的文件。
因此,如果我有一个包含3个字段A,B和C的表单,$ RESULTS中的文本将是:" aaa \ nbbb \ nccc \ n"。我想要:
$varA to be 'aaa'
$varB to be 'bbb'
$varC to be 'ccc'
替代方案似乎是粘贴命令,但由于我需要在继续之前验证某些值,因此这只是部分解决方案。
答案 0 :(得分:1)
使用read
。
{
read a
read b
read c
} <<< "$RESULTS"
或使用更标准的此处文档而非此处的字符串。
{
read a
read b
read c
} <<EOF
$RESULTS
EOF
答案 1 :(得分:0)
你是说这个吗?
a=$(echo -e $RESULTS | awk 'NR==1')
b=$(echo -e $RESULTS | awk 'NR==2')
c=$(echo -e $RESULTS | awk 'NR==3')
echo $a,$b,$c
aaa,bbb,ccc