すべてのPythonファイルで文字列 ".vars()"を検索したいとし、どういうわけか "grep"を次のようにオーバーライドしました。
% grep .vars() *.py
% which grep
grep () {
*.py
}
この問題を使用unset grep
して修正しようとしましたが、成功しませんでした。export grep=/bin/grep
私が誤ってやったことを誰か説明してもらえますか?
注:Bashでは、次のように失敗します。
「予期しない表示」( '」の近くに構文エラーがあります。
ベストアンサー1
これには2つの関数が定義されています。 1つは名前が付けられ、grep
もう1つは名前が付けられますvars
。*.py
grep .vars() *.py
これらの機能を削除してシャドウをキャンセルするには、次の手順を実行するgrep
必要があります。
$ unset -f grep .vars
からman zshbuiltins
:
unset [ -fmv ] name ... ... unset -f is equivalent to unfunction. ... unfunction Same as unhash -f. ... unhash ... The -f option causes unhash to remove shell functions.