bash 中的 Echo 从数组中拉出时用最后一个字母/字符替换第一个字母/字符

问题描述 投票:0回答:1

我在 bash 中制作了一个简单的脚本,询问“你想要 $action 做什么?”。动作变量应该替换为用户在每个循环中的选择。这似乎可行,但问题是问号 (?) 的最后一个字符正在替换第一个字符“W”。我环顾四周,找不到与发生这种情况的原因相关的任何信息。

我用 cygwin 和 Ubuntu 试过这个,遇到了同样的问题。

这是代码

#!/bin/bash

readOptions () {
ed -s "do.csv" <<EOF
,p
q
EOF
}

action="do"

echo "You can press 'q' anytime to exit!"

while [ ! action = "q" ] 
do

echo "What would you like to $action?"

option=$(readOptions)

echo "$option"

read action

chose_opt=( $option ) 
action=${chose_opt[$action]}

done

这是输出

enter image description here

echo 应该显示“What would you like to add?”

arrays bash ubuntu echo ed
1个回答
0
投票

我认为有回车( ) 在 $action 值的末尾。

© www.soinside.com 2019 - 2024. All rights reserved.