【发布时间】:2022-01-26 06:01:48
【问题描述】:
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 ';
'; 出现在新行上,为什么会这样?
【问题讨论】:
-
stackoverflow.com/a/20233998/2955337 ;被视为命令字符的结束。用反斜杠转义它
-
你能澄清一下问题和来源吗?我认为有些丢失或与 SO 格式冲突。你说的
;在下一行,这里根本没有显示。不清楚(对我来说)第一个反引号字符是否是脚本行的一部分,因为该字符在脚本和 SO 中都有特殊含义。另外,通过“脚本上的回声”,我想您的意思是“脚本内的回声”? -
@sleepyhead 在带引号的字符串中,不需要转义。
-
我怀疑问题是
$id包含换行符。 -
@Raxi 我提供了问题的屏幕截图,是的,在脚本中回显