0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

シェル関数を定義しなかった人生があると思うとゾッとする

Posted at

はじまりは自己紹介から

はじめまして!
Linuxが全く分からない、あおげばにゃんこです。
今回はLinuxを勉強して少し開発までのフローが楽になったので記事にしてみました。
あまり力を入れずに手短に紹介します。

シェル関数を使わない人生

これまで、開発をする際は毎回以下のようなコマンドを打って環境を整えていました

$ cd ~/parent/child
$ docker compose up -d
$ docker ps
$ docker attach $CONTAINERID

思わずため息が出るような長さですよね?
特に、docker psなんて docker compose up -dしたら絶対つかうんだからセットでやってくれよと思ってしまいますよね?

シェル関数を使う人生

さっきの長々としたコマンドは忘れてこれからは以下のように打つだけでいいんです!

$ child
$ dcs
$ da $CONTAINERID

いかがですか?
こんだけ短くなるともう元には戻れないでしょう。

どうやって設定するの?

macユーザーであればターミナルを開くとおそらくzshだと思うので

$ vi ~/.zshrc

を実行してzshrcファイルを開くと
こんな感じのvimエディタが開きますのでこちらに書き込んでいきます。

画質悪いですが気にしないでね🫶
export~が書いてありますが、私が以前設定したものです。
何も設定しないと多分何も書いてない

image.png

キーボードの[i]を押してinsertモードにします
その後

child() {
  cd ~/parent/child
}

dcs() {
  docker compose up -d
  echo '-----------------------------------'
  docker ps
}

ds() {
  docker ps
}

da() {
  docker attach "$1"
}

上を丸っとコピペします。
[esc]ボタンを押して[:wq]と打ち込み保存します
最後に

$  source ~/.zshrc

を実行します。
すると

$ child
$ dcs
$ da $CONTAINERID

これだけのコマンドで実行できるようになります。

最後に

簡単に自分が現在設定しているコマンドを紹介します

# zshコマンド
vz() {
  vi ~/.zshrc
}

sr() {
  source ~/.zshrc
}

# git コマンド
gb() {
  git branch
}

ch() {
  git checkout "$1"
}

cb() {
  git checkout -b "$1"
}

# docker コマンド
da() {
  docker attach "$1"
}

dce() {
  docker compose exec "$1" bash
}

dcs() {
  docker compose up -d
  echo '-----------------------------------'
  docker ps
}

dcd() {
  docker compose down
}

ds() {
  docker ps
}

# cd コマンド(よく使うファイルをこれに設定しています)
item() {
  cd ~/article/item
}

child() {
  cd ~/parent/child
}

お願い

皆さんの便利コマンドの設定もよければ教えてください!
長々と記事にお付き合いありがとうございました😊

余談

今回設定したcdコマンドですが、シンボリックリンクでいいのでは?と最初は思ったのですが、その場合だとgit情報が引き継がれないらしく断念しました。
あと、書籍で勉強したいたのですが、「シェルとターミナルを一緒にしている奴は素人だ!」と書かれていたので気をつけていきたいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?