与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是放一块儿的哦。