出力を次の入力ラインに送信するには?

出力を次の入力ラインに送信するには?

これは私の作品ですalias hst="history 1 -1 | cut -c 8- | uniq | fzf "。私が実行すると、hst 出力は次のようになります。

$ ~ hst
(the output from hst)
$

これが私が望むものです

$ ~ hst
$ (the output from hst)

はい

$ ~ hst
vi .zshrc
$

しなければならない

$ ~ hst
$ vi .zshrc

この問題をどのように解決しますか? (またはスクリプトを改善します)

ベストアンサー1

ユーザーが入力したようにシェル入力スタックに何かを追加するには、次のようにしますprint -z

hst() {
  local cmd
  cmd=$(print -rNC1 -- ${(u)history} | fzf --read0 "$@") &&
    print -rz -- $cmd
}

おすすめ記事