将文本附加到变量的末尾

时间:2014-06-13 16:26:22

标签: bash shell string-concatenation

以下作品,但我不想要它返回的空间:

read input
file= "$input"
file= "$file ins.b" # how to get rid of the space here?
echo "$file"

这输出'文件ins.b' 我不想要文件和ins.b之间的空间

如果我不在代码中留下该空格,则只返回' .b'。我该怎么做才能解决这个问题?

4 个答案:

答案 0 :(得分:4)

追加如下:

file="${file}ins.b" 

如果您不使用大括号,则会将fileins视为变量并展开它。因为,它可能没有设置它只打印.b

相关:When do we need curly braces in variables using Bash?

答案 1 :(得分:2)

在bash中,您还可以引用${file}之类的变量。所以这对你有用:

file="${file}ins.b"

答案 2 :(得分:2)

你根本不需要扩展旧的价值; bash有一个+=运算符:

file+="ins.b"

答案 3 :(得分:1)

file="${file}ins.b"

file=$file"ins.b"