機能があります。
fz(){file=$(find | fzf) && echo $file && read order && $("$order" "$file")}
私の.zshrz
。これにより、ファイルを呼び出した場所に基づいてサブディレクトリ内の任意の場所でファイルを検索し、入力で指定されたコマンドをそのファイルに適用できます。
1つの小さな問題があります。関数が期待どおりに動作している間($order
同じファイルで指定されたエイリアスではない場合.zshrc
)、エイリアスを使用すると、「コマンドが見つかりません」というメッセージが表示されます。
zsh関数で変数として保存されたエイリアスを使用する方法はありますか?
答え1
eval
代わりに、以下を使用する必要があります$( … )
。
fz() {
file=$( find | fzf )
echo $file
read order
eval "$order $file"
}