Space 出现在 https url 中 linux
Space is appearing in https url in linux
我正在用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 显示没有 space.
当 echo nodeip 时,它显示没有 space 但不知何故这个 space 正在进入 url。
那么如何在 url.
中删除这个 space
根据我们在评论中的讨论,您可以替换当前代码
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
将显示 space 已被 sed s/ *//
命令删除。
如果不是,请编辑您的问题以包含
的输出
echo "X" `sed -n '3{p;q;}` $root/dbtmpdn`
我正在用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 显示没有 space.
当 echo nodeip 时,它显示没有 space 但不知何故这个 space 正在进入 url。 那么如何在 url.
中删除这个 space根据我们在评论中的讨论,您可以替换当前代码
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
将显示 space 已被 sed s/ *//
命令删除。
如果不是,请编辑您的问题以包含
的输出echo "X" `sed -n '3{p;q;}` $root/dbtmpdn`