ブログ

読んで思い出す。忘れるために書く

Bash

Git でコミットするアカウントを切り替える

問題 解決 関数の定義 関数を利用する関数の定義 問題 ひとつの PC で「私用」「仕事用」の git アカウント情報を切り替えたい 解決 Bash の関数を定義する 関数の定義 git config する関数を定義する function switch_git_config { name="$1" email="$2" gp…

Q. Bash で補完したときに表示される文字の色設定を変えたい

A. colored-stats を on にして、LS_COLORS の設定値を自分好みに変更する Bash は INPUTRC の環境変数設定がなければ ~/.inputrc を読みに行くので、そこに設定値を書く ~/.inputrc : colored-stats On 環境変数は適当な場所 (~/.bash_profile, ~/.bashrc) …

Q. インストールしたコマンドが長くて打ちたくない (補完したい)

A. brew search [command name]-completion で補完用定義を探してみる → インストールする (brew 経由じゃなくても公開されているので 探せば見つかるかもしれない) 補完機能を有効化する たとえば brew install vagrant から vagrant コマンドを使えるよう…

Q. リダイレクト(>) を使ってもファイルの中身が空になるコマンドがある

A. 標準出力を使ってない可能性があるので &> でエラー出力も含めてリダイレクトさせる Link command line - How to redirect stderr to a file - Ask Ubuntu

Q. bit.ly のURL 短縮をターミナルからコマンドっぽく実行したい

A. 次の関数定義を使う # bit.ly URL Shortener # Dependencies: # * BITLY_ACCESS_TOKEN # * BITLY_USER_NAME # * jq command function bitly { short_url=$(curl -s --request GET \ --url "https://api-ssl.bitly.com/v3/shorten?access_token=$BITLY_ACC…

Q. その日のメモを日付つきファイル名に変更して 保存しておきたい

A. mv と併せて date コマンドを使用する # 毎日 or 不定期に書いているメモがある ls # => memo.md # その日の終わりに日付つきのファイル名に変更して # 次また「memo.md」で書き始められるように準備しておきたい mv memo.md memo_$(date "%Y-%m-%d").md …

enhancd + peco を使って検索主導なディレクトリ移動をする (参考リンク)

詳しくは両者公式ドキュメントを参照のこと (peco, enhancd) あるいは Qiita 検索結果 など enhancd 既存の cd を拡張して履歴表示・選択で移動したり fuzzy match でのディレクトリ移動が出来る peco たとえば tree | peco として その一覧からインクリメン…

knife コマンドを [Tab] 補完する (Chef)

avishai-ish-shalom/knife.sh (Gist) を利用する 確認時点で7年前作成のものと だいぶ古いが問題なく動く 補完機能を有効化する 所定の場所 ( /etc/bash_completion.d など) にダウンロードして設置する cd /etc/bash_completion.d wget https://gist.github…

外部ファイルをダウンロードして展開するスクリプトを直した

Terraform の最新版があることを terraform -v が教えてくれるので、その情報を元に URL を組み立てて 最新版に更新する Bash の関数を作った そのときに cut でバージョン番号の抜き出しをしていたが 上手く動いてなかったので 正規表現 ( egrep -o ) に切…

ccat の出力する色を Ubuntu で見易しく設定する

設定した 問題 解決 設定後の見え方 色の設定について alias に設定する Links 問題 Ubuntu デフォルトのターミナルだと背景色が暗めで ccat コマンドの色が見づらい 解決 ccat の出力する色の設定をする ccat -G String="_brown_"\ -G Plaintext="overline"…

Heroku アプリっぽい名前を生成する

既存の gem に全力で乗っかっていくやり方 まとめ 注意点 書いてみる 実行してみる Links まとめ 適当な名前を要求された時に human readable な名前をパッと答えられてべんり 注意点 PATH が通っている/を通した 適当なディレクトリ( $HOME/.local/bin/rand…

指定バージョンで rails new する

Rails開発環境の構築(複数バージョン共存可能)(Homebrew編) - Qiita Ruby on Rails 4 - rails sでローカルサーバーを立ち上げたいのですが、以下のエラーが出てしまいます。(101118)|teratail バージョンごとに新規作成するコマンドがあったらベンリか…

いつもの手作業(gem update)を自動化する(cron)

いつも gem のアップデートとか、Vim プラグインのアップデートとか、手作業でやってる気がするので、それをやめたい まとめ 3回以上、なにかしら繰り返し作業しているものがあれば、たとえば cron に実行を任せることで省力化していきたい 概要 おおまかな…

rbenv で管理しているgem 周りを一気にアップデートする

まとめ レシピ コマンド Links まとめ cron に仕込んで定期実行させて、「バージョンを上げるときに実質待ち時間ゼロ」みたいにできるかもしれない

Bashmarks でディレクトリをブックマーク管理する

詳細は: huyng/bashmarks: Directory bookmarks for the shell - GitHub 参照のこと