我得到这个程序非常奇怪的输出。什么是“回车”行为,以及如何将其删除 - 最终缺少单引号?为什么字母“T”缺失?如何编写代码来纠正这个问题?删除变量的回车末端
代码我使用
#!/bin/bash
export DATABASE_LIST="/opt/halogen/crontab/etc/db_stat_list.cfg"
export v3=""
while read -r USERID ORACLE_SID2
do
v3="This is '${ORACLE_SID2}' "
echo $v3
done < <(tac $DATABASE_LIST)
输出
'his is 'OT1SL80
'his is 'OT1SL010
我从阅读的文件不是腐败,是一个小两行
[[email protected] test2]$ cat /opt/halogen/crontab/etc/db_stat_list.cfg
asp_dba/dba OT1SL010
asp_dba/dba OT1SL80
谢谢
你有'这是'OT1SL80'......这意味着'''覆盖'T'。您需要删除CR _before_变量替换发生。我建议用管道连接到'tr -d'\ r''。 –
Siguza