有没有 mkdir foo 并立即 cd 进入其中的快捷方式?

有没有 mkdir foo 并立即 cd 进入其中的快捷方式?

这是我经常做的事情

$ 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

贝壳bashzsh

如果您不想记住另一个功能并且不介意批评:

$ 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 文件中的路径中)。然后您就可以直接调用它了。

相关内容