Windows Subsystem for Linuxガイド 第39回 Bashのヒストリ機能 その1「利用編」
マイナビニュース / 2024年9月24日 12時24分
今回より、ときどき、WSL自体ではなく、WSLあるいはLinuxを使う場合の基礎知識的な記事を入れることにする。これは、Windowsには慣れているものの、Linuxにはなじみのない読者を想定している。
bashには、実行したコマンドを記録し、あとから呼び出して利用するための仕組み「ヒストリ」機能がある。ヒストリの日本語訳としては「履歴」が充てられることが多いが、一般用語としての「履歴」もあるので、ここでは「ヒストリ」と表記する。
○ヒストリ機能の使い方
ヒストリ機能は、実行が成功したコマンドを順次記録していく。注意するのは実行がエラーになったコマンドは記録されないことだ。こうして作られたコマンドのリストに対して、「キーボードによるコマンドの呼び出し」、およびbashの「履歴展開」機能の2つが利用できる。
前者は、PowerShellの履歴などと同じく、「↑」キーなどで以前に実行したコマンドを呼び出すもの。キーボードを使うヒストリ機能は1980年台に開発されたKornShell(ksh)に搭載され、その後一般的になった。なお、この場合、実行前にコマンドラインを修正することもできる。
後者は、コマンドラインに過去のコマンドや引数などを参照する記号を使うもの。例えばコマンドラインに「!!」と入力してエンターキーを押せば、「↑」とエンターキーを押したのと同じく、直前のコマンドを実行できる。この履歴展開の機能は、1970年台に開発されBSD系UNIXに搭載されたC Shell(csh)に採用され、bashはこれを引き継いだ。cshの作者の一人であるビル・ジョイによれば、Interlisp-Dのredoコマンドを参考にしたという。
(表01)は、bashの標準的なヒストリ関連のキーを示す。ディストリビューションやバージョンにより多少の違いが出る可能性があるものの、多くのディストリビューションのbashでは、これらのキーが使える可能性が高い。
上下カーソルキーが2つあるのは、端末(コンソール・アプリケーション)のモードによって、同じ上下カーソルキーが生成するキーコードが異なるからである。また、一般的なLinuxのコンソールでは、Ctrl+Sは、sttyコマンドでstopキーとして定義されているため、このキーを押すと、先にsttyの方で解釈されることになり、bash/readline側にキーコードが渡らない。ヒストリ機能に限らず、bashのコマンドラインで、Ctrl+Sを利用したい場合には、sttyコマンドでCtrl+Sの割り当てを取り消す必要がある(解説は次回)。
この記事に関連するニュース
-
ユニコードで文字数を数える方法
ASCII.jp / 2024年9月22日 10時0分
-
ゼロからはじめるGo言語 第21回 正規表現でExcelのセルを検索するツールを作ろう
マイナビニュース / 2024年9月18日 12時59分
-
WSLはプレビュー版でGUIでの設定が加わった! リリース2.3.xの新機能を見る
ASCII.jp / 2024年9月15日 10時0分
-
窓辺の小石 第183回 The Environment variable Man
マイナビニュース / 2024年9月13日 15時34分
-
クロスプラットフォームのターミナルエディター「micro」v2.0.14
マイナビニュース / 2024年8月28日 16時18分
ランキング
-
1バトルもアツい新作『英雄伝説 界の軌跡』を試遊!「日本ファルコム」ブースは巨大「みっしぃ」やノベルティなどが魅力【TGS2024】
インサイド / 2024年9月26日 20時20分
-
2「どういうお笑い?」 ヨシモト∞ホールが誤表示を謝罪 “斜め上をいくエラー”に「声出たwww」「どうしてこうなった」
ねとらぼ / 2024年9月26日 17時44分
-
3『パワフルプロ野球2024-2025』7月31日までに入団発表された選手を追加する第4回アップデート配信―「栄冠ナイン」追加バランス調整の予告も
Game*Spark / 2024年9月26日 21時30分
-
4「変わってなかったらロボット」 元“ギャルのカリスマ”安西ひろこ、容姿巡る「たたき」にピシャリ “45歳の近影”が奇跡そのものだった「本当の美人」
ねとらぼ / 2024年9月25日 20時15分
-
5『モンハンワイルズ』に「イャンクック」が登場決定!「クック先生」の愛称で親しまれる人気モンスターが久しぶりの復活
インサイド / 2024年9月26日 23時35分
複数ページをまたぐ記事です
記事の最終ページでミッション達成してください