cod*_*eak 4 shell function mkdir
我一直在使用linux控制台一段时间了.令我恼火的一件事是每次我创建一个新目录时mkdir
我都要cd
改变它.是否有一个命令解决方案来创建和切换到刚刚创建的目录?
现在我做:
mkdir php5
cd php5
Run Code Online (Sandbox Code Playgroud)
我可不可以做:
mkdir -someswitch php5
Run Code Online (Sandbox Code Playgroud)
我想要简单干净的东西.一个很好的例子是git branch somebranch
制作新分支,git checkout -b somebranch
并制作和切换到新分支.
可执行此操作的可移植方法是使用shell函数 - 而不是bash函数(使用bashims function
).把它放在相关.profile
的交互用途中:
mkdir () {
case $1 in
(-c) command mkdir -p "$2" && cd "$2";;
(*) command mkdir "$@";;
esac
}
Run Code Online (Sandbox Code Playgroud)
这为交互式使用添加了-c
选项mkdir
.没有-c
实用程序就像往常一样.-并注意引用,"$2"
所以这适用于名称中带有空格的目录.