我经常发现在使用时mv somefile somepath
我经常需要转到文件刚刚被移动到的位置。
基本上 mv somefile somepath && cd somepath
有没有一种方法可以不使用多个命令来实现这一点?
答案1
如何定义一个自定义bash
函数来完成这项工作:
move () { mv -- "$1" "$2"; cd -- "$_"; }
将此move
函数放在文件末尾~/.bashrc
。
运行函数如下
move somefile somepath
$1
是函数的第一个参数 (somefile
)$2
是第二个参数 (somepath
)$_
扩展到前一个命令的最后一个参数($2
在本例中)
例子 :
/foo$ move () { mv -- "$1" "$2"; cd -- "$_"; }
/foo$ ls -1
bar
spam1
spam2
/foo$ move spam* bar/
/foo/bar$
如您所见,所需的文件已被移动并且目录也相应改变。
答案2
除了像您那样组合命令之外,唯一的其他方法是先 cd 到您想要进入的目录,然后:
~/Documents$ mv ~/Desktop/somefile ~/Documents