下面的作品,但我不希望的空間,它返回:Bash,將文本追加到變量的末尾?
read input
file= "$input"
file= "$file ins.b" # how to get rid of the space here?
echo "$file"
這個輸出「文件ins.b」 我不想文件
之間ins.b的空間如果我不在代碼中留下空間,它只會返回'.b'。我能做些什麼來解決這個問題?
謝謝
下面的作品,但我不希望的空間,它返回:Bash,將文本追加到變量的末尾?
read input
file= "$input"
file= "$file ins.b" # how to get rid of the space here?
echo "$file"
這個輸出「文件ins.b」 我不想文件
之間ins.b的空間如果我不在代碼中留下空間,它只會返回'.b'。我能做些什麼來解決這個問題?
謝謝
追加像:
file="${file}ins.b"
如果你不使用大括號,然後它把fileins
作爲一個變量,並將其擴展。因爲,它可能沒有設置它只是打印.b
。
在bash,你也可以參考變量,如${file}
。因此,這應該爲你工作:
file="${file}ins.b"
file="${file}ins.b"
或
file=$file"ins.b"
你並不需要在所有的擴大舊值; bash有一個+=
操作:
file+="ins.b"
評論[我怎麼可以連接字符串變量中的Bash(http://stackoverflow.com/questions/4181703/how-can-i-concatenate-string-variables-in-慶典)。它並不完全相同,因爲它需要你不想要的空間,但其中一些答案涵蓋了你需要覆蓋的情況。 (例如,你可以使用'file =「$ file」「ins.b」'或'file =「$ file」ins.b';這些都是覆蓋的選擇,以及簡單的'file =「$ {file } ins.b「'。) –