这是我经常做的事
$ mkdir foo
$ cd foo
这可以作为单个命令使用,但是它的击键次数更多,并且不节省任何时间。
$ mkdir foo && cd foo
这有捷径吗?
编辑
使用下面的帮助,这似乎是最优雅的答案。
# ~/.bashrc
function mkcd {
if [ ! -n "$1" ]; then
echo "Enter a directory name"
elif [ -d $1 ]; then
echo "\`$1' already exists"
else
mkdir $1 && cd $1
fi
}
(1)为什么不简单地用“ mkdir $ 1; cd $ 1”代替“ &&”?这样,即使“ mkdir”失败,“ cd”也将成功,并且您不需要“已经完成”的脚手架。(2)按照书面规定,您的函数将无法工作(提示您输入目录名称)。您需要将它放在与存在测试分开的“ if”子句中(当前在“ elif”中)。
—
quack quixote
mkdir
,如果您使用command mkdir $1
的,而不是仅仅mkdir $1
在函数体。