こういうのはよく見掛けるけど、 mkdir
のオプションが固定だったり、
-
で始まるディレクトリが扱えなかったりして悲くなったので作ってみた。
(ってのは後付けで、とりあえず Qiita に何か書いてみたかった)
function mkcdir() {
mkdir "$@" || return $?
local arg got_end_option=0
for arg in "$@"; do
case "$arg" in
--)
got_end_option=1
continue
;;
-*)
((1 == $got_end_option)) && break
continue
;;
*)
break
;;
esac
done
cd -- "$arg"
}