我试图在一个字符串中使用多个变量,但在每个变量之后,字符串将重新开始并覆盖开始:
#!/bin/bash
var1="ABCDEFG"
var2="hi"
echo "${var1} ${var2}"
echo "$var1 $var2"
它应该输出
ABCDEFG hi
但两个回声输出
hiDEFG
另外,如果我只使用一个变量,并在变量后放置文本,它仍然覆盖…
这里还有一个例子:
https://stackoverflow.com/a/17862845/8363344
bla=hello
laber=kthx
echo "${bla}ohai${laber}bye"
这将输出:
helloohaikthxbye
但它输出:
byeikthx
我开始用
sudo bash path/bash.sh
但是用sudo-sh,效果不太好…
我使用ubuntu 16.04(作为虚拟机)
谢谢
丹尼斯
最佳答案
它可能是输入字符串中的回车字符。
您可以将echo
通过管道发送到tr
命令以将其从输出字符串中删除:
echo "${var1} ${var2}" | tr -d '\r'
关于linux - 在每个变量之后字符串再次开始[Bash],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45455364/