LoginSignup
12
9

More than 5 years have passed since last update.

Bash、ターミナル関連の面白いURLまとめ(?)

Last updated at Posted at 2018-07-01

この記事について

なんとなく面白いなぁという小ネタや、地味に便利な小ネタの乗ったURLを載せてるURL集(になる予定の何か)です
利便性とか見やすさとかそんなん全く気にしていないのでご了承ください。
一種のブックマークである

実用的なものたち

まとめ系

色々とまとめて解説してくださってるところ
rsooo -- 検索ではあんまり出ないbashの便利技

tips

sachaos -- 私のCLI仕事術
m-yamashita -- 初心者向け、「上手い」シェルスクリプトの書き方のメモ
simeji -- ターミナルの作業が捗るかもな小技5つ
c18t -- シェルでインラインコメントを書く方法
yudoufu -- bash/zshでsourceされたスクリプト内で、ファイル自身の絶対パスをとるシンプルな記法

配列

配列って、言語によって結構違うからわかりづらいよね...
b4b4r07 -- bash配列まとめ
YumaInaura -- シェル|スペースが含まれる配列要素をループする

ストリーム処理(名前付きパイプ、process置換など)

これも知ってると便利...
@debug-ito -- bashでストリームデータ処理

FreeBSDでbashのプロセス置換を使う時の注意点

ザリガニが見ていた...。 -- 名前付きパイプでプログレスバーを操作する

1文字ずつ入力する

これを使えば、ちょっと昔風な(?)カタカタカタと1文字ずつ画面に表示されるメッセージが簡単に生成できますね
俺的備忘録 -- bashでファイルから1文字づつ読み込んで処理をさせる

乱数

/dev/randomでも十分ランダムですが、そこから加工する
piroor -- シェルスクリプトでランダムにあれをやる

include

m4が気になりますね
piroor -- テキストファイルの中に書いたincloude文をsedで解決する

並列・直列処理

意外と簡単にできる並行処理、便利だったものすごく...
nyango -- シェルスクリプトで単純に並列実行・直列実行を行う

コーディング規約類

ここら辺は使いやすいものを使えばいいんだと思う
Google -- Shell Stype Guide
mashumashu -- bashコーディング規約
b4b4r07 -- シェルスクリプトのコーディングルール2014

builtinコマンド作成

satoru_takeuchi -- bashの組み込みコマンド自作によるスクリプトの高速化

tput, エスケープシークエンス系(文字色変更、カーソル移動その他制御)

一応エスケープシークエンス系も載せておくけどもtput使ったほうが汎用性があるし使いやすい
pandora2000 -- Shellの出力でカーソルを移動させる
onokatio -- 【シェル芸奥義】tputを使ってみる【エスケープシークエンス】
tdrk -- ターミナルの大きさを取得する
man tput
man terminfo

Vim関連

vimmerなのにいまだにbashはEmacs仕様(デフォルト)なあなたへ
私もだけど
Pseudonym -- vim色に染まれ. 機能紹介のついでにbashをvi仕様に

オプション解析

自分は自己解析してしまう派です...getops使いづらい的なことを聞いていたし、単純なオプションしかないので...
b4b4r07 -- bashによるオプション解析

変数展開

これを覚えるとめっちゃ便利...ちなみに以下のリンクに書かれている以上にも様々あるので調べてみると良いぞ。
yumetodo -- sedなんか投げ捨てて変数展開で高速に文字列を置換しよう
koara-local -- bashで変数から部分文字列を取得する
man bash

式展開

akinomyoga -- Bash $((算術式))のすべて - A 基本編

Exit code

戻り値ってつい1と0にしたくなりません...??
自分はこれにしました
Linda_pp
Advanced Bash-Scripting Guide: Appendix E. Exit Codes With Special Meanings

/usr/include/sysexits.h

バイナリ

ちなみに自分は、バイナリはvim + xxdで読み書きする派です()
richmikan@github -- シェルスクリプトはバイナリを扱えない。さてどうしよう……
akinomyoga -- Bash/Zshスクリプトならバイナリを扱える。さて何をしよう……

Terminalカスタマイズ

Let's customize the Terminal!
gekkoukisi -- bashの「command not found」をカスタムする
b4b4r07 -- さいつよのターミナル環境を構築しよう

PS{1-4} プロンプト関連

PlaySta*ionではないですよ
kawaz -- PS4の設定でシェルスクリプトのデバッグが捗る
amidaku -- Bashのプロンプト変更
key-amb -- Bashで PROMPT_COMMANDを使わずにPS1を動的に変更

ネタ系

便利系

なんかもうなんてカテゴライズして良いのかがわからなくなってきたよ
nyango -- シェル上で🍣🍣(Unicode絵文字)を表示させる

ユーティリティ作成

richmikan@github -- シェルスクリプトでメール送信、「さよならnkf」編
trkbt10 -- ShellScriptで作るウェブサーバー

完全ネタ系

aptとかね
Hiroki_lzh -- 仕事の役には立たない、Linuxにおけるジョークプログラムの話
kkk627 -- いろんなX11アプリケーション
cympfh -- AtCoderに登録したらとくべき精選過去問10問をbashで解いてみた


書き終えた感想

いや書くってほどのことしてないんだけどね。
Safariの開きすぎたタブの整理をしたかったので...
...カテゴライズが難しいのと、コメントがんばっt(
この他にも、gitやその他便利ツールたちに関するリンクも色々あるのですがいつか足します...
もしくは僕のいいねした投稿見に行くと面白いのあるかもしれません。
他の人がいいねしたのって地味に掘り出し物がありそうな気がしている。

今後も不定期更新をしようと思っています。
新しいリンクだとか、何かありましたらぜひコメントください!
リンク集好きなので()

12
9
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
12
9