我有一个问题。
这是我的bash脚本:
while read fieldA
do
echo "$fieldA"
done < <(mysql --user root -proot test -Bse "SELECT description From Object LIMIT 1
Echo:
"Kościół z 1938 roku. Powstał ku czci żołnierzy niemieckich poległych w czasie I Wojny Światowej. Szczyt frontonu zdobiły trzy postacie: św. Brunona, krzyżaka i ninPo wojnie postacie te zatynkowano. W latach 70-tych w tym miejscu umieszczono mozaikę przedstawiającą Św. Brunona w otoczeniu atakujących go wojowników pruskich."
但是在mysql中这个文本是:
'Kościół z 1938 roku. Powstał ku czci żołnierzy niemieckich poległych w czasie I Wojny Światowej. Szczyt frontonu zdobiły trzy postacie: św. Brunona, krzyżaka i niemieckiego żołnierza z karabinem w ręku.\r\n\r\nPo wojnie postacie te zatynkowano. W latach 70-tych w tym miejscu umieszczono mozaikę przedstawiającą Św. Brunona w otoczeniu atakujących go wojowników pruskich.'
我认为问题在于“\ r \ n \ r \ n”
我希望在ECHO中有与mysql相同的文本(所有\ r \ n \ r \ n。
请帮帮我。
答案 0 :(得分:0)
在echo中使用单引号,否则\ n \ r \ n将是断行
答案 1 :(得分:0)
这取决于你在mysql列中的内容。
如果是回车换行对,则终端已正确解释这些字符。如果您想将它们显示为转义序列,则可以分别用字符\
,r
或\
和n
替换它们。
如果您的字符串中有文字\r\n
,即四个字符\
,r
,\
和n
,那么您可以尝试禁用用-E
echo -E "$fieldA"