zshで定義された関数のリストを取得する方法(エイリアスのエイリアスコマンドなど)


18

私は文字が打てます

alias

zshで定義されたエイリアスのリストを取得します

zshで定義されている関数名のリストを取得するにはどうすればよいですか?

「関数」と入力すると、多くの関数を表示した後、常に終了するシェルウィンドウがハングします

__rvm_checksum_none () {
    [[ -z "${_checksum_md5:-}" && -z "${_checksum_sha512:-}" ]]
}
__rvm_checksum_read () {

非常に迷惑なのは、これがctrl-cで終了しないことです(item2 ANDターミナルを使用)。

iterm2: ここに画像の説明を入力してください

同じ問題が発生している端末の画像: ここに画像の説明を入力してください


通常、リストfunctions組み込みで 行われます。最初にproblem(?)関数の定義を解除すると、出力が得られますunfunction __rvm_checksum_readか?
mpy

関数リスト(完全な宣言ではない)を取得したい場合はどうすればよいですか?そのメソッドが機能しない場合、別の__rvm_curlにも問題があります。
ジャスティンゴードン

私の答えをご覧ください。しかし、あなたが説明する振る舞いは奇妙に聞こえます...ただ興味があります:完全なリストは別の端末エミュレーターで動作しますか?問題のある機能をうまく使用できますか?
mpy

端末には項目2と同じ問題があります。以下の答えは素晴らしいです。ターミナルが「functions」コマンドを使用してハングする理由を知りたいのですが(より少なくパイプされた場合でも)、それは重要ですか?これが問題を引き起こす理由は何ですか?
ジャスティンゴードン

これらの関数には、端末を台無しにするいくつかの本当に奇妙な文字列があると思いました。これを絞り込むには、出力をファイルにリダイレクトできますfunctions > /tmp/foo。それがzshの問題であれば、これも発行するはずです。それが端末の問題である場合、そうすべきではありません。あなたの問題が日常の使用を妨げる可能性がある場合-申し訳ありません。
mpy

回答:


19

_functions補完機能を見て不正行為をすると、あなたの質問に答えることができます。

関数は連想配列に格納されるfunctionsため、関数名(キーのkフラグ)のみをアルファベット順(順序のフラグ)で取得するには、次を使用できます。o

print -l ${(ok)functions}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.