Linux 包含文件路径的Bash变量

Linux 包含文件路径的Bash变量,linux,bash,filepath,mv,Linux,Bash,Filepath,Mv,我正在编写一个脚本,需要根据用户输入在目录中查找文件。该文件包含一个filepath,我需要将该filepath用作变量,以便稍后在mv命令中使用它。到目前为止:- read x path = `cat ~/filepaths/$x` 稍后,它需要使用从该文件读取的文件路径从垃圾箱中移动文件 mv ~/trash/$x $path 目前,它似乎不工作,并且在运行时挂起。有什么愚蠢的事我错过了吗 编辑:解决了,是一个愚蠢的语法错误。谢谢你的帮助 删除作业周围的空格: path=`cat ~/f

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

read x
path = `cat ~/filepaths/$x`
稍后,它需要使用从该文件读取的文件路径从垃圾箱中移动文件

mv ~/trash/$x $path
目前,它似乎不工作,并且在运行时挂起。有什么愚蠢的事我错过了吗


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

删除作业周围的空格:

path=`cat ~/filepaths/$x`
或:

path=$(<~/filepath/$x)

删除作业周围的空格:

path=`cat ~/filepaths/$x`
或:

path=$(<~/filepath/$x)

它处于“挂起”状态,因为
read
正在等待输入。在读取数据时,您将在第2行得到语法错误。此外,您应该考虑使用<代码> $(子shell命令)< /C>语法,而不是<>代码>子shell命令'/COD>语法。它通常不太容易出错。@williampersell:第2行是对名为
path
的程序的语法正确调用,参数1设置为
=
,参数2向前设置为文件
~/filepath/$x
中的任何内容。它处于“挂起”状态,因为
read
正在等待输入。在读取数据时,您将在第2行得到语法错误。此外,您应该考虑使用<代码> $(子shell命令)< /C>语法,而不是<>代码>子shell命令'/COD>语法。它通常不太容易出错。@williampersell:第2行是对名为
path
的程序的语法正确调用,参数1设置为
=
,参数2以后设置为文件
~/filepath/$x
中的任何内容。