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