当我尝试回显或打印字符串时,它打印正常。
这是字符串。
IP_NET_TP0 _
结构是IP_NET_TP0,9个制表符(\t),最后是7个空格和1个下划线。
好吧,如果你把它放到一个变量中,假设是 var1,然后按如下方式打印它,效果很好。
echo $var1
echo "$var1"
但是,如果您向其中添加额外的文本,例如添加引号或字母,它会从链中删除 1 个空格。
echo \"$var1\"
echo "'"$var1"'"
echo "a" $var1
为什么?! .. 我试过用 print 打印变量,或者像这样 ${var1},输出相同,少 1 个空格。
如下所示,第一个是用其他东西打印的,第二个是单独打印的。
IP_NET_TP0 _
IP_NET_TP0 _
任何帮助都会很棒。
最佳答案
也许您错误地实例化了变量。当我像这样声明它时 var1="IP_NET_TP0"
或 var1=IP_NET_TP0
按照您的方式打印它工作正常。您使用的是 bash 还是其他类型的 shell?您的 .bash_profile 或 .bashrc 中也可能有一些奇怪的东西导致了这种情况。
关于linux echo/print 在打印多个变量时删除字符串中的 1 个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19966853/