我正在以centos编写.sh文件。在脚本中,我正在写curl commamd为
curl -u admin:final https://$nodeip:8089/services/cluster/config/config
但在CLI中它以
传递curl -u admin:final https:// MYHOST:8089/services/cluster/config/config
nodeip ,即 MYHOST 值,从数据库中获取并在同一脚本中将其传递到url。如
nodeip=`cat $root/dbtmpdn | sed -n '3p'`
echo $ nodeip显示没有空格。
当echo nodeip 时,它显示没有空格,但不知何故,这个空间将进入url。 所以如何在网址中删除这个空格。
答案 0 :(得分:1)
根据我们在评论中的讨论,您可以替换当前的代码
nodeip=`cat $root/dbtmpdn | sed -n '3p'`
与
nodeip=`cat $root/dbtmpdn | sed -n '3{s/^ *//;p;}'`
如果$root/dbtmpdn
是文件,您可以使用
nodeip=`sed -n '3{s/^ *//;p;}' $root/dbtmpdn`
如果您的shell支持它,请使用" modern"命令替换的版本。 (我相信我已经读过,centos中的默认shell不支持$(cmd_substituion)
,所以如果它不起作用,请坚持使用`cmd sub`。)
nodeip=$(sed -n '3{s/^ *//;p;}' $root/dbtmpdn)
在任何一种情况下,希望现在
echo X"$nodeip"Y
将显示sed s/ *//
命令已删除空格。
如果没有,请编辑您的问题以包含
的输出echo "X" `sed -n '3{p;q;}` $root/dbtmpdn`