前提
macOSのターミナルでmanコマンドで誤って末尾に()をつけたところ、function>と出力されたので、nと入力したところmanコマンドが使用できなくなってしまいました。
zsh
1% man time() 2function> n
発生している問題・エラーメッセージ
以下のように別のコマンドになってしまったようです。
zsh
1% man time 2man:1: command not found: n 3% man printf 4man:3: command not found: n
そこで、もう一度man()を実行してmanと入力したのですが、うまく行きませんでした。これは何が起きていて、どうすれば再びmanコマンドを使えるようになるのでしょうか。お心当たりの方は回答よろしくお願いいたします。
zsh
1% man() 2function> man 3% man printf 4man:6: maximum nested function level reached; increase FUNCNEST?
c のタグは関係無いように思いますが。
man time() と入力することで関数が定義されてしまいましたので、それを解除します。
% unset -f man time
% unset man time
jimbeさん
おっしゃる通りです。ご指摘ありがとうございます。
manコマンドとc言語を混同していました。大変失礼いたしました。
> unset -f man
あるいは、定義は一時的な物なので、端末を閉じて開き直せば良いです。
melianさん、otnさん
コメントありがとうございます。
端末を開き直すことで解決できました。unsetも試してみましたがうまくいきました。関数の定義だったんですね。
教えてくださりとても助かりました。
> おっしゃる通りです。
ならCのタグを外してください。
タグは、あなたが自分の質問を目立たせるためにあるのでは無く(結果としてその効用もありますが)、他の人が自分の見たい質問にたどり着くための道標です。間違った道標を放置しないでください。
あなたの回答
tips
プレビュー