2012-11-27 163 views
1

我正在编写一个脚本,需要根据用户输入在目录中找到文件。该文件包含一个文件路径,我需要使用该文件路径作为变量,以便稍后在mv命令中使用它。到目前为止: -包含文件路径的Bash变量

read x 
path = `cat ~/filepaths/$x` 

后来它需要使用此文件

mv ~/trash/$x $path 

目前,它似乎并没有工作,阅读文件路径从垃圾桶移动文件,并在运行时挂起。我在这里错过了什么愚蠢的东西?

编辑:解决了,是一个愚蠢的语法错误。谢谢你的帮助!

+1

http://stackoverflow.com/questions/2268104/basic-bash-script-variable-declaration-command-未找到 –

+0

由于“read”正在等待输入,因此它“挂起”。只要读取数据,就会在第2行出现语法错误。 –

+0

另外,你应该考虑使用'$(subshel​​l command)'语法来代替'\'subshel​​l command \''语法。它通常不太容易出错。 – jedwards

回答

7

分配周围删除空格:

path=`cat ~/filepaths/$x` 

或:

path=$(< ~/filepaths/$x) 
+0

啊......这个修好了,谢谢! –