linux echo/print 在打印多个变量时删除字符串中的 1 个空格

标签 linux scripting echo ksh

当我尝试回显或打印字符串时,它打印正常。

这是字符串。

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/

相关文章:

scripting - 如何从浏览器获取USB设备列表

php - 简化多重 echo

linux - 如何将带点的版本号转换为整数?

linux - Bash 脚本 : How do I rename files to remove numeric characters at the beginning?

php - 您如何使用脚本语言(PHP、Python 等)来提高您的生产力?

c++ - 从 C++ 设置系统变量

javascript - 如何在 PHP 中添加带有 JS 函数的输入标签

javascript - 为什么我的 php echo 不起作用?

linux - 无法在 mac(优胜美地)和服务器(ubuntu)之间配对 ssh key

linux非标准串行控制台