我必须将文件从一个文件夹移动到另一个文件夹,但它们驻留在完全不同的路径中。目的地路径又长又复杂,我记不得了。有什么方法可以先到目标目录,然后将路径存储在某个变量中,假设 X 然后转到源目录并编写如下命令:
mv * $X
Run Code Online (Sandbox Code Playgroud)
尝试:
cd /your/long/path
X=$(pwd)
Run Code Online (Sandbox Code Playgroud)
该命令pwd打印当前目录;使用命令将命令X=$(pwd)的输出存储在变量 (1) 中X(周围没有空格=!)
cd /the/other/dir/
mv * "$X"
Run Code Online (Sandbox Code Playgroud)
现在您正在使用变量的值X,使用$X(read $ as "the value of")。该"是围绕着$X如果目录名称包含空格或其他特殊字符是必要的。
如果您不确定 X 中的内容,可以使用以下命令检查其内容
echo "$X"
Run Code Online (Sandbox Code Playgroud)
(1) 在bash(和其他)shell 中,它们被称为parameters。例如,请参阅此处的简单教程或此处的示例。