プログラミングをしていると、同じ 3 つのシェル コマンドを繰り返し使用していることに気付くでしょう。たとえば、次のようになります。
vim myGraphic.cpp
g++ -lglut -lGLU myGraphic.cpp -o prettyPicture
./prettyPicture
毎回上矢印キーを 3 回押すのを避けるために、bashrc に次のように記述します。
function cyc {
CYCLE=3
!-$CYCLE
}
ただし、「cyc」関数を使用すると、エラーが発生します
「bash: !-3: コマンドが見つかりません」。
このヒストリー展開の手法は、シェルと対話的に機能しますが、関数定義では機能しないようです。この違いの説明は何ですか?「cyc」と同等の関数を機能させるにはどうすればよいですか?