我正在尝试在一个字符串中使用多个变量,但是在每个变量之后,字符串再次开始并覆盖开头:
#!/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
我开始.sh
sudo bash path/bash.sh
但是使用sudo sh它也不能正常工作...
我使用 Ubuntu 16.04(作为虚拟机(
谢谢 丹尼斯
它可能是输入字符串中的回车符。
您可以将echo
通过管道传输到tr
命令以将其从输出字符串中删除:
echo "${var1} ${var2}" | tr -d 'r'