与CD有关的Functions()

下面说一种与alias差不多的function

➤ mkdir -p /tmp/subdir1/subdir2/subdir3
mkdir: created directory ‘/tmp/subdir1’
mkdir: created directory ‘/tmp/subdir1/subdir2’
mkdir: created directory ‘/tmp/subdir1/subdir2/subdir3’
➤ cd /tmp/subdir1/subdir2/subdir3
➤ pwd
/tmp/subdir1/subdir2/subdir3
➤

是不是又有点烦?

下面就让function来解救你吧~

function mcd () {
    mkdir -p "$@" && eval cd "\"\$$#\"";
}

然后,瞧好了:

➤ mcd /tmp/1/2/3/4/5/6/7
mkdir: created directory ‘/tmp/1’
mkdir: created directory ‘/tmp/1/2’
mkdir: created directory ‘/tmp/1/2/3’
mkdir: created directory ‘/tmp/1/2/3/4’
mkdir: created directory ‘/tmp/1/2/3/4/5’
mkdir: created directory ‘/tmp/1/2/3/4/5/6’
mkdir: created directory ‘/tmp/1/2/3/4/5/6/7’
➤ pwd
/tmp/1/2/3/4/5/6/7
➤

为什么会这样呢?这是因为我们在当前环境下新建了一个function,这个function的功能就是新建目录,然后进入我们新建的目录。

当然,这应该是最简单的function了吧,把一堆常用的function写入你的.bashrc里面,会让你很舒服的。

同样,我的一些常用function也在github上面,跟alias是放一块儿的哦。

results matching ""

    No results matching ""