2014-01-23 30 views
0

我有一个将生成output.txt的脚本。现在我想重命名这个output.txt。我需要用一个变量重命名这个文件。例如:我有一个输入文件,从中获取值并将其存储在临时变量中。现在我想用这个临时值重命名这个output.txt。 我可以用下面的命令来完成它。但是我看到一些特殊字符被附加到文件名中。使用变量在unix中重命名文件

我需要用Type值重命名output.txt。

#!/bin/sh 
mv result/$bld_no/output.txt "result/$bld_no/$Type" 

我能够重命名文件,但附加一个额外的字符。 A1XFE4LQM16OSW(箱子是我从控制台看到的问号)

任何人都可以请让我知道如何重命名一个变量名称的文件,而不添加任何特殊字符吗?

+1

它可能在'Type'变量中,看起来像一个回车符。如果你从一个文件中读取这个var,你可能需要去除它后面的空格。 – brianmearns

回答

2

我怀疑问题实际上是变量末尾的“特殊”字符。

这里就是我会做,假设你正在使用bash,

TYPE="${TYPE%?}" 

这将去掉最后一个字符掉变量。

我也建议调查你是如何设置TYPE的,但这不是你的问题的答案。

+0

嗨,变量没有任何特殊字符。变量只包含“A1XFE4LQM16OSW”。但在尝试重命名时,那就是mv结果/ $ bld_no/output.txt“result/$ bld_no/$ Type”在最后用特殊字符重命名output.txt。 – user3193684