0

zsh でファイル名を作成して特定のファイルを見つけようとしましたが (マンページを何度も読みましたが、実際に何をしていたのかわかりませんでした)、何かがひどく間違っていたと思います:

echo と入力した後10-02-2015.*()、何かを入力するように求められました — zsh put out function>。ランダムに を入力しn、Enter キーを押しました。

しかし、その後、実行するすべてのコマンドに「echo:16: command not found: n」が追加されます。これは、空の関数名で関数を定義したように見えますが、それがどのように意味があるのか​​わかりません。

それを念頭に置いて、ここで何が起こったのか、どうすれば元に戻すことができますか?

4

1 に答える 1

1

zsh を少し調べてみると、 の最初のビットがecho:16: command not found: n失敗したコマンドであることを示しているようです (数字はセッションのプロンプト番号か何か?)。

したがって、どういうわけか、echo呼び出しようとしているシェル関数として再定義したものは何でもn(明らかに存在しない) ように見えます。

type -f echoこれで確認できると思いecho "foo"ますが、現時点では正しく動作しないでしょう。

新しい zsh セッションを開始するだけで、問題を「修正」できるはずです。

あるいは、unset -f echo同様に機能するようです。

于 2015-02-16T03:14:30.410 に答える