这是我经常做的事情
$ 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
我不是 Linux/bash 专家,但请尝试将其放入您的.bashrc
.
function mkdir
{
command mkdir $1 && cd $1
}
PS 感谢 Dennis 的使用command mkdir
。
答案2
贝壳bash
zsh
如果您不想记住另一个功能并且不介意批评:
$ mkdir /home/foo/doc/bar && cd $_
(美元下划线) bash 命令变量$_
包含最新的参数。因此,如果用户在命令行中输入以下内容:echo foo bar && echo $_ baz
,则输出将如下所示:
foo bar
bar baz
贝壳fish
在 fish shell 中,我会输入以下内容:
> mkdir /home/foo/doc/bar > CDalt + ↑
alt 键与向上或向下箭头键组合将循环显示命令参数历史记录。
答案3
为了哦我的天啊用户:
$ take 'directory_name'
参考:https://github.com/robbyrussell/oh-my-zsh/wiki/Cheatsheet
答案4
您可以尝试这样的操作:
#!/bin/sh
mkdir $1 && cd $1
将此脚本保存到您路径中的某个位置,例如 /usr/local/bin 或 ~/bin(您必须将最后一个脚本放入 ~/.profile 文件中的路径中)。然后您就可以直接调用它了。