Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 在攻击变量时删除前导\n_Shell_Db2_Newline - Fatal编程技术网

Shell 在攻击变量时删除前导\n

Shell 在攻击变量时删除前导\n,shell,db2,newline,Shell,Db2,Newline,我在shell脚本中有一个DB2查询,它返回一个整数值,但我无法将其存储在变量中 temp1=echodb2-x“从work.work\u tb中选择max(id)” 我在运行它时得到这个输出,sh-x test.sh db2-x从work.work\u tb中选择max(id) 回声50 temp1= 五十 因此,出于某种原因,$temp1无法获取该值,我认为这是因为db2查询返回了前缀为\n的值。如何去掉换行符并将值获取到temp1 emp1=$(echo db2 -x "select

我在shell脚本中有一个DB2查询,它返回一个整数值,但我无法将其存储在变量中

temp1=echo
db2-x“从work.work\u tb中选择max(id)”

我在运行它时得到这个输出,sh-x test.sh

  • db2-x从work.work\u tb中选择max(id)
  • 回声50
  • temp1= 五十
因此,出于某种原因,$temp1无法获取该值,我认为这是因为db2查询返回了前缀为\n的值。如何去掉换行符并将值获取到temp1

emp1=$(echo db2 -x "select max(id) from work.work_tb")
或者使用反勾号

emp1=`echo db2 -x "select max(id) from work.work_tb"`
通常,要删除换行符,可以将其传递给
tr/sed
等工具

... | tr -d "\n"
不,这不是原因

temp1=`db2 -x "select max(id) from work.work_tb"`

50将出现在下一行temp1=\n 50works现在,我正在使用temp1=echo
db2-x“select max(id)from work.work\u tb”
实际上,在您的问题中,在
=
echo
之间有一个空格,这意味着
$temp1
在运行
echo
之前设置为空,导致您看到的输出。