在 Bash 中隐藏变量中的长路径

Al *_*ndy 2 bash

我必须将文件从一个文件夹移动到另一个文件夹,但它们驻留在完全不同的路径中。目的地路径又长又复杂,我记不得了。有什么方法可以先到目标目录,然后将路径存储在某个变量中,假设 X 然后转到源目录并编写如下命令:

 mv * $X
Run Code Online (Sandbox Code Playgroud)

Rma*_*ano 7

尝试:

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。例如请参阅此处的简单教程此处的示例。