如何将所有文件从上一个目录移动到 pwd?

如何将所有文件从上一个目录移动到 pwd?

如果我输入

cd - 

在命令行中,我转到之前所在的位置。我想执行类似以下操作(显然下面这行实际上不起作用):

mv -/* .

将所有内容从上一个目录复制到我当前所在的位置,而无需明确输入整个上一个目录。这可能吗?(在 Ubuntu 16.04 上?,使用 bash)

答案1

如何在脚本的命令行中引用我所在的前一个目录?

有几种不同的方法:

  • 使用$OLDPWD变量

    来源:Bash - $OLDPWD | bash 教程

  • 要使用-快捷方式,请在其前面加上~

    ~-

    波浪号扩展

    如果单词以未加引号的波浪号 ('~') 开头,则所有字符直到第一个未加引号的斜杠 (或所有字符,如果没有未加引号的斜杠) 都被视为波浪号前缀。如果波浪号前缀中的任何字符都没有加引号,则波浪号后面的波浪号前缀中的字符将被视为可能的登录名。如果此登录名为空字符串,则波浪号将替换为 HOME shell 变量的值。如果 HOME 未设置,则将替换为执行 shell 的用户的主目录。否则,波浪号前缀将替换为与指定登录名关联的主目录。

    如果波浪号前缀是 '~+',则 shell 变量 PWD 的值将替换波浪号前缀。如果波浪号前缀是 '~-',则将替换 shell 变量 OLDPWD(如果已设置)的值。

    来源:操作方法:shell 扩展 - Linux - SS64.com

例子:

$ ls
bin  sh.exe.stackdump  test  test.txt
$ cd test
$ ls
test.sh
$ ls $OLDPWD
bin  sh.exe.stackdump  test  test.txt
$ ls ~-
bin  sh.exe.stackdump  test  test.txt
$

相关内容