我尝试在字符串中使用多个变量,但在每个变量之后,字符串再次启动并覆盖开头:
#!/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
我正在使用
启动.shsudo bash path/bash.sh
但是对于sudo来说它不起作用......
我使用Ubuntu 16.04(作为虚拟机)
由于 丹尼斯
答案 0 :(得分:2)
它可能是输入字符串中的回车符。
您可以将echo
传递给tr
命令,将其从输出字符串中删除:
echo "${var1} ${var2}" | tr -d '\r'