mkdirとcdを組み合わせて、作成ディレクトリに即移動する自作コードをターミナルから使用できるようにした。
経緯
mkdir でディレクトリを作った後に再度cdして作成したディレクトリに移動するのが面倒なので、その操作を連結して一つのコードで行えるような自作コードをターミナルから使用できるようにした。
手順
codeコマンドで.bashrcを開く。
.bashrcとは
.bashrc は、ユーザがターミナルとかを開くたびに、内容が読み込まれるファイルのこと。ここに自作関数を置くことでターミナルから自作コードを起動させたりできる。
.bashrcをVscodeで編集する。
.bashrcを編集する際にvimを用いても良かったが、コマンドからVscodeを開いて編集する方法を書いてくださっている人がいて便利そうので早速試してみた。
以下の参考記事の手順通りにするとターミナルからVSCodeを起動してファイルを開けるようになりました。🙏
[参考記事]
自作コマンドを.bashrcに記述する
mkdirで現在のパスにディレクトリを作成した後、そのディレクトリに移動する「mkdircd」コマンドの作成
先ほどの方法で.bashrcファイルを編集し以下のコードを書きました。
自作コマンドは「mkdircd」としました。もう少し短縮してしまっても良いのかもしれませんが忘れそうなので安直に二つのコマンドを連結させた名前にしました。
mkdircd () {
mkdir -p "$1" && cd "$1"
}
①$1
これはターミナルでコマンドを打ったときの最初の引数。コマンドを打つ時は作成するディレクトリ名を第一引数として使用するので$1は作成するディレクトリ名となる。
②-p
このオプションで途中の階層が存在しない時にまとめて全部作成できる。
例えば: mkdir -p dir1/dir2とコマンドを打つとdir1を作成してその下にdir2のディレクトリも作成する。
③&& cd "$1"
&& で左のコマンドが成功したときのみ右のコマンドを実行。
つまりmkdirで作成したディレクトリにcdで移動している。
source ~/.bashrcで変更した.bashrcファイルを読み込む
普通はターミナルを開いたときに.bashrcが読み込まれるが、即変更を反映させたかったので以下のコードを実行しました。
source ~/.bashrc
実際に使ってみる
ターミナルで mkdircd <ディレクトリ名> と入力すると...?
.bashrc内の関数が呼び出され、ディレクトリが作成された後にそのディレクトリに移動!
[おまけ]
touchコマンドで作成したファイルをそのままVscodeで開く自作コマンド「touchvs」を作成
せっかくなのでもう一つコマンドを作成してみました。touchコマンドで作成したファイルをまたvscodeで開くのが面倒なので以下のコードを作成しました。
touchcode() {
touch "$1" && code "$1"
}
先ほどと同様に.bashrc内にこのコードを記述して、source .bashrcで変更を反映。
コマンドを打ったとファイルが作成され同時にvscodeで該当ファイルが開きました。🙌
まとめ
意外と簡単に自作のコードをターミナルで起動させられるようにできました。
多用するコードは自作するのもいいかもしれませんね。
Discussion