接続時の最後のコマンドの検索

接続時の最後のコマンドの検索

;&&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
)

おすすめ記事