This is an image of what I'm asking for我在脚本中使用了以下-echo-,执行后,输出格式如下所示:
`echo -e "UPDATE table1 SET table1_f1='$Fname' ,table1_f2='$Lname' where table1_f3='$id';\ncommit;" >> $OutputFile`
输出:UPDATE table1 SET table1_f1='Fname' ,table1_f2='Lname' where table1_f3='id ';
';
出现在新的一行中,为什么会发生这种情况?
1条答案
按热度按时间7gyucuyw1#
shell脚本中的变量
$id
实际上在末尾包含换行符(\n
或\r\n
);因此您在此处显示的脚本部分实际上没有任何错误。如果变量是基于外部命令(update:)创建的,或者是通过
read
ing外部文件创建的,这种效果非常常见。对于简单值,在
echo
中使用换行符之前,可以先将换行符从值的末尾去掉,方法如下:或者对于已经依赖于特定bash
IFS
值的脚本: