はじめに
ターミナルで、mkdirを実行して空のフォルダを作成したあと、そのフォルダに移動するためcdを実行することがけっこうあると思います。
本稿ではmkdirとcdを同時に行うコマンドを追加する方法について書いていきます。
似たような記事がけっこう見受けられますが、丁寧めに説明したいと思います。
環境
- macOS High Sierra 10.13.3
方法
.bashrc というファイルを作成して編集、保存することで独自のコマンドを追加します。
- ターミナルを起動します。
- ターミナルで
vim ~/.bashrc
を実行しホームディレクトリに.bashrcファイルを作成します。画像のような画面になると思います。 - すでに .bashrcファイルの編集ができる状態です。ここでは"mkcd"という名前のコマンドを追加するため以下のコードを記述してください(任意の名前に変更してもかまいません)。
function mkcd {
if [ ! -n "$1" ]; then
echo "Enter a directory name"
elif [ -d $1 ]; then
echo "\`$1' already exists"
else
mkdir $1 && cd $1
fi
}
- 記述したら
:wq
と打ってEnterを押します(":wq"は編集内容を保存して操作を終了するコマンドです)。 - macOSのデフォルトでは、ホームディレクトリに.bashrcを作成してもターミナル起動時に読み込むようになっておらず、このままでは追加したコマンドは使えません。自動で読み込ませるために、再びターミナルで
vim ~/.bash_profile
を実行します。ホームディレクトリに.bash_profileが作成されるので、これまでと同様に以下のコードを記述して保存(:wq
)してください。
if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi
以上です。
参考
Made a custom terminal command
Is there a shortcut to mkdir foo and immediately cd into it?
ターミナル起動時に.bashrcを読み込むようにする