日記の練習です。
『ふつうの Linux プログラミング』4.2 「シェルと端末」
ただ "BELL" を鳴らすだけのコードを書いて実行させるだけなのに、
シェルの設定をする方法を確認したり*1、`less` コマンドで `.bashrc` ファイルの中を検索したり、 `man` コマンドで `less` コマンドの検索のキーバインドを確認したり*2、
そうやってやっと `.inputrc` に `set bell-style visible` を追記してベルを鳴らすんじゃなくてターミナル画面をフラッシュさせるようにしたり、dot ファイルを書き換えたあとにログアウトしないで再読み込みさせる方法を探したり*3、思った通りの動作じゃなかったので Windows Terminal の設定を変更したり*4*5、 Windows Terminal の設定を変更したあとにどうやったら設定が反映されるのかわからなかったり*6、 dot ファイルに追記するときに `cat` コマンドだけで追加する方法があったはず、とか思ってインターネットを検索したり*7*8*9、それで `ctrl+D` っていったいなにを意味しているの?*10*11*12とか、
もうなにをやっているのか全然わからなくなっている。
『ふつうの Linux プログラミング』4.2 「シェルと端末」キャラクタ端末と ASCII より
'\007' を出力すると、ベルが鳴るはずです。
鳴る「はず」と述べたのは、端末の設定によってはベルを鳴らす機能が無効になっていることがあるからです。またビジュアルベルという、画面が点滅する機能が代わりに有効になっていることもあります。
以上のことからわかるように、 ASCII とはもともとキャラクタ端末に対する命令として作られています。しかし、その意味は現在ではほとんど失われており、純粋な文字の部分と改行などの一部の機能だけが使われています。
全然、進捗が出ない。
*1: .inputrc と .bashrc の二つがあった。どういう機構かわかっていない
*2: /pattern で前方検索、 n で順方向に検索、N で逆方向に検索だった
*3: source .inputrc だった
*4:Windows Terminal でベルを抑制する #WindowsTerminal - Qiita https://qiita.com/saoyagi2/items/90f0c47ab9d20df3f6ab
*5:ベル https://learn.microsoft.com/ja-jp/windows/terminal/customize-settings/profile-advanced#bell-notification-style
*6:一度、閉じてから、再度、開かないとダメ?
*7: cat >> .inpurc と ctrl+D だった
*8:最強のエディタ cat : tnomuraのブログ https://tnomura9.exblog.jp/28943430/
*9:cat エディタ ビル・ジョイと cat : tnomuraのブログ https://tnomura9.exblog.jp/28971237/
*10:Ctrl-D の話 - higepon blog https://higepon.hatenablog.com/entry/20080602/1212385423
*11:End-of-Transmission character - Wikipedia https://en.wikipedia.org/wiki/End-of-Transmission_character
*12:このまま『ふつうの Linux プログラミング』を読み進めると後ろの方(13章「シグナルにかかわる API」)で Ctrl+C の話が出てくる