自分にはもう必要ないかもと思いながら積読状態だった Linux標準教科書 を読みました。
以外と知らないこともあり勉強になりました。
基礎大事。
shellのデバッグ(sh -x) : 9.8 デバッグ(P.177)
新人の頃shellを書きまくって、print debugしまくってた自分に教えてあげたい。
例として分かりにくいかもしれませんが、 -x をつけて実行すると
コマンドや変数の中身を表示しながら実行してくれます。
sampleとしては若干見にくいかもしれないですが
$ cat samle.sh while true do echo "Continue? (y/n)" read input case $input in n) break ;; y) continue ;; *) echo "Please input y or n." ;; esac done
これを -x 付きで実行すると
$ sh -x ./sample.sh + true + echo 'Continue? (y/n)' Continue? (y/n) + read input y + case $input in + continue + true + echo 'Continue? (y/n)' Continue? (y/n) + read input n + case $input in + break
という感じで実行内容が見れます。
select: 9.5.3 select文(P.159)
おお、こんなのあったのかという感じです。
select name in "apple" "banana" "orange" do echo "You selected $name"; done
実行結果。
$ sh select.sh 1) apple 2) banana 3) orange #? 3 You selected orange
manセクション: 3.7.1 セクション(P.53)
ときどき何だったっけとなるのでメモ。
項目 | 内容 |
---|---|
1 | ユーザコマンド |
2 | システムコール |
3 | システムライブラリや関数 |
4 | デバイスやデバイスドライバ |
5 | ファイルの形式 |
6 | ゲームやデモなど |
7 | その他 |
8 | システム管理系のコマンド |
9 | カーネル等の情報 |
man 5 passwd
まとめ
基本的なことはまとまって記載されているのでLinux知らない人は読むべし。
基礎重要。