如果我说mv Folder/ ~/Documents/Folder1/Folder2
现在我要cd ~/Documents/Folder1/Folder2
那么,这两个都可以归结为单行吗?
答案 0 :(得分:4)
这很容易:
mv Folder/ ~/Documents/Folder1/Folder2
cd !$
in bash(interactive)!$
代表最后一个命令的最后一个参数
答案 1 :(得分:3)
在脚本中,您只需重复使用同一目录,在交互式会话中,您可以按 ESC + 。。
答案 2 :(得分:1)
我一直有这个问题,特别是对于这个通常情况:
$ mkdir folder
$ cd folder
我已经为这个特例做了一个小别名:
function mkcd()
{
mkdir "$1" && cd "$1"
}
$ mkcd folder
但有两个问题让我感到沮丧"用这个别名:
$ mkdir folder
;所以,为了使用我的别名,我必须回去一个字,然后删除mkdir
的最后3个字符,然后用cd
替换,然后......然后我放弃,因为它&# 39;输入cd folder
... 因此,当我阅读你的问题时,它让我想要写一些更好的东西,你可以在行尾添加一些东西(不必考虑之前),并且可以使用任何其他命令,而不仅仅是{ {1}}。
它是一个函数(我称之为mkdir
),您只需要在一行(cdd
)的末尾追加以获取当前命令,然后更改当前命令中最后一个参数的路径,是目录的路径。
"<cmd> ; cdd"
另一个:
/etc $ cp fstab /tmp; cdd # --> current dir = /tmp
/tmp $ ...
~ $ mkdir "some proj/src" -p; cdd # --> current dir = some proj/src
~/some proj/src $ ...