;
&&
zshでは、チェーンコマンドを使用するときにチェーン||
の前のコマンド(以前に実行されたコマンド)にどのようにアクセスしますか?例:
rm foo ; echo ...
私は私に提供するものを探していますrm foo
。
history
試してみましたが、!!
現在実行されているコマンドではなく、最後に実行されたコマンドまでのみコマンドが提供されます。もう1つのアイデアはを使用することですが、$0
これはzshの場所だけを印刷します。
最後のコマンドしか検索できない場合は、チェーン全体にアクセスすることも可能です。
答え1
次のことができます。
$ TRAPDEBUG() last_command=$current_command current_command=$ZSH_DEBUG_CMD
$ echo test; print -r -- $last_command
test
echo test
このコマンドはいくつかの形式を再指定します。
$ (echo test); print -r -- $last_command
test
(
echo test
)
$ (for a (1 2) echo $a); print -r -- $last_command
1
2
(
for a in 1 2
do
echo $a
done
)