包含文件路径的Bash变量
问题描述:
我正在编写一个脚本,需要根据用户输入在目录中找到文件。该文件包含一个文件路径,我需要使用该文件路径作为变量,以便稍后在mv命令中使用它。到目前为止: -包含文件路径的Bash变量
read x
path = `cat ~/filepaths/$x`
后来它需要使用此文件
mv ~/trash/$x $path
目前,它似乎并没有工作,阅读文件路径从垃圾桶移动文件,并在运行时挂起。我在这里错过了什么愚蠢的东西?
编辑:解决了,是一个愚蠢的语法错误。谢谢你的帮助!
答
分配周围删除空格:
path=`cat ~/filepaths/$x`
或:
path=$(< ~/filepaths/$x)
+0
啊......这个修好了,谢谢! –
http://stackoverflow.com/questions/2268104/basic-bash-script-variable-declaration-command-未找到 –
由于“read”正在等待输入,因此它“挂起”。只要读取数据,就会在第2行出现语法错误。 –
另外,你应该考虑使用'$(subshell command)'语法来代替'\'subshell command \''语法。它通常不太容易出错。 – jedwards