日: 2025年7月31日

Ubuntuでhistoryの履歴を追いやすくするシェルスクリプト並びにコマンド化。

概要

設定変更時、過去のコマンド履歴を確認するため

history | grep command

として過去の履歴を確認します。これをシェルスクリプトの力で解決します。(スクリプト作成にはGemini pro 2.5を利用)

スクリプト

  • histgrep.sh
#!/bin/bash

# スクリプトに引数が渡されたかどうかで処理を分岐
if [ "$#" -gt 0 ]; then
  # 引数が存在する場合、その値を検索文字列として使用
  SEARCH_TERM="$1"
else
  # 引数がない場合、対話式でユーザーに入力を促す
  read -p "探したいコマンドを入力してください: " SEARCH_TERM
fi

# 検索文字列が空の場合はエラーメッセージを出して終了
if [ -z "${SEARCH_TERM}" ]; then
  echo "検索文字列が入力されていません。"
  exit 1
fi

# historyコマンドの代わりに、履歴ファイルを検索する
HISTFILE_PATH="${HISTFILE:-$HOME/.bash_history}"

echo "実行履歴から「${SEARCH_TERM}」を含むコマンドは以下の通りです。"
grep "${SEARCH_TERM}" "${HISTFILE_PATH}"

これを保存して、

chmod +x histgrep.sh

で実行権限をつけます。

コマンド実行例

引数無しの対話型

./histgrep.sh
探したいコマンドを入力してください: bundle
実行履歴から「bundle」を含むコマンドは以下の通りです。
sudo -u www-data bundle install --without development test --path vendor/bundle
sudo -u www-data bundle install
sudo -u www-data bundle install --without development test --path vendor/bundle
sudo -u www-data bundle exec gem install rake
sudo -u www-data bundle install --without development test --path vendor/bundle
sudo -u www-data bundle install --without development test --path vendor/bundle
sudo bundle install

と、探したい文字列を含む履歴をhistory(正確には履歴ファイル)から参照します。

引数型

./histgrep.sh configtest
実行履歴から「configtest」を含むコマンドは以下の通りです。
sudo apache2ctl configtest

このように、探したい文字列を引数とすることで、そのコマンドを探せます。

コマンド化

これをコマンド化します。

sudo ln -sf /path/to/script/directory/histgrep.sh /usr/local/bin/histgrep

/path/to/script/directory/histgrep.shはフルパスで、スクリプトがある場所を指定します。

which histgrep

で、/usr/local/bin/histgrepを確認。

後は、作業中でも

histgrep tar

などとすれば、過去に実行したコマンドの履歴を容易に参照することができます。

買いっぱなしのベースデッキ。(統率者メモ:2025/07/31)

部屋を掃除していたら、買ってインナースリーブに入れた状態で放置していた構築済みを見つけました。

サンダー・ジャンクションの無法者統率者デッキ『重窃盗罪』

クリーチャー (37)

  • 抜け目ない取得者、ゴンティ/Gonti, Canny Acquisitor
  • 五足のフェリクス/Felix Five-Boots
  • 嘲笑う呪文乗っ取り/Smirking Spelljacker
  • 大蛇の魂裂き/Orochi Soul-Reaver
  • 泥棒の匪獣/Thieving Varmint
  • 抜け目ない交易商人/Savvy Trader
  • 高閣這い/Tower Winder
  • 泥棒スカイダイバー/Thieving Skydiver
  • 彼方の賢者/Sage of the Beyond
  • 幽体のこそ泥/Ghostly Pilferer
  • 氾濫の始源体/Diluvian Primordial
  • 幻惑のスフィンクス/Dazzling Sphinx
  • 豪華の王、ゴンティ/Gonti, Lord of Luxury
  • ブレインスティーラー・ドラゴン/Brainstealer Dragon
  • 月の賢者の養子、ナシ/Nashi, Moon Sage's Scion
  • 盗み取る融合体/Thieving Amalgam
  • オーランの凍り牙/Ohran Frostfang
  • 無情な追跡者、カズル/Cazur, Ruthless Stalker
  • 静刃の鬼/Silent-Blade Oni
  • 人質取り/Hostage Taker
  • トレストの密偵長、エドリック/Edric, Spymaster of Trest
  • 堕ちた忍び/Fallen Shinobi
  • 冷淡なセルキー/Cold-Eyed Selkie
  • 影魔道士の浸透者/Shadowmage Infiltrator
  • 悪意の大梟/Baleful Strix
  • 正気泥棒/Thief of Sanity
  • 擬態の原形質/The Mimeoplasm
  • 追跡する影、ウキーマ/Ukkima, Stalking Shadow
  • ブレードグリフの試作品/Bladegriff Prototype
  • 忘却蒔き/Oblivion Sower
  • 這い寄る刃/Slither Blade
  • つむじ風のならず者/Whirler Rogue
  • トリトンの岸忍び/Triton Shorestalker
  • シラナの岩礁渡り/Silhana Ledgewalker
  • 虚空の従者/Void Attendant
  • 三角エイの捕食者/Trygon Predator
  • 灰毛の天才、オーロック博士/Doc Aurlock, Grizzled Genius
    呪文 (25)
  • 秘儀の強奪/Arcane Heist
  • 心なき徴兵/Heartless Conscription
  • 夢盗人のバンダナ/Dream-Thief's Bandana
  • 盗品/Stolen Goods
  • 豚の呪い/Curse of the Swine
  • 意識の拡張/Mind's Dilation
  • 捕食者の刻/Predators' Hour
  • 狡猾な弁論/Cunning Rhetoric
  • 悪意の熟達/Baleful Mastery
  • 眼識の収集/Siphon Insight
  • 脳髄引き抜き/Extract Brain
  • 選別の儀式/Culling Ritual
  • 悪逆な富/Villainous Wealth
  • 原形質捉え/Plasm Capture
  • 混沌のワンド/Chaos Wand
  • 大群への給餌/Feed the Swarm
  • 不屈の自然/Rampant Growth
  • 木霊の手の内/Kodama's Reach
  • 三顧の礼/Three Visits
  • 化膿/Putrefy
  • 秘儀の印鑑/Arcane Signet
  • ダークスティールの鋳塊/Darksteel Ingot
  • 友なる石/Fellwar Stone
  • 虹色のレンズ/Prismatic Lens
  • 太陽の指輪/Sol Ring
    土地 (38)
  • 5:島/Island
  • 6:沼/Swamp
  • 4:森/Forest
  • 溢れ出た区画/Overflowing Basin
  • 水没した地下墓地/Drowned Catacomb
  • 欺瞞の神殿/Temple of Deceit
  • 疾病の神殿/Temple of Malady
  • ダークウォーターの地下墓地/Darkwater Catacombs
  • 異臭の池/Fetid Pools
  • ヤヴィマヤの沿岸/Yavimaya Coast
  • 緑ばんだ沼/Viridescent Bog
  • 風変わりな果樹園/Exotic Orchard
  • 地底の大河/Underground River
  • 森林の墓地/Woodland Cemetery
  • 窪み渓谷/Sunken Hollow
  • 神秘の神殿/Temple of Mystery
  • 内陸の湾港/Hinterland Harbor
  • 闇滑りの岸/Darkslick Shores
  • 溢れかえる果樹園/Flooded Grove
  • 黄昏のぬかるみ/Twilight Mire
  • ラノワールの荒原/Llanowar Wastes
  • 統率の塔/Command Tower
  • 聖遺の塔/Reliquary Tower
  • 接続トンネル/Access Tunnel
  • ディミーアの水路/Dimir Aqueduct
  • 華やかな宮殿/Opulent Palace

軸は2つ。

  • 相手の呪文を奪ってアドバンテージを得る
  • 攻撃を与えたときにアドバンテージを得るクリーチャーで攻め立てていく

ちょうど安かったから買った以外は覚えていないのですが、これもこれで遊べるポテンシャルはあるのでやってみようと思います。

Powered by WordPress & Theme by Anders Norén