bashでは、で始まる最後から列挙された履歴からコマンド!-1
を実行できます。しかし、組み込みの手段によって通常の列挙の代わりに言及された列挙が表示されるように、どのように履歴を表示できますか?もちろん、そのための簡単なスクリプトを書くこともできますが、そのための何らかのオプションがあるはずだと思います。1
0
-
もう1つの質問は、標識が不要になるように履歴拡張を何らかの方法で切り替える方法があるかどうかです。との意味を交換すると言い!1
ます!-1
。
負のインデックスの表示は簡単に実装できます。履歴の長さを取り (または から取得しhistory 1
)、他のすべての履歴アイテムのインデックスから差し引くだけです。
neghistory() {
local i n s
read n s < <(history 1)
history "$@" | while read i s; do
printf '%5d %s\n' $((i-n-1)) "$s"
done
}
このように履歴の出力に影響を与えたり、履歴展開のインデックスの動作を変更したりする組み込みの方法は見当たりません。