Open6
WSL2で突然sudoが使えなくなった( -bash: syntax error unexpected token '(' )

結論

sudo apt upgradeを打とうとしたらエラーが出た
~$ sudo apt upgrade
-bash: syntax error unexpected token '('
which sudoで直接叩いたら実行できたのでsudoのパスが通ってない?と推測
~$ which sudo
/usr/bin/sudo
~$ /usr/bin/sudo apt upgrade
Reading package lists... Done

ちなみにlsとかcdとかは普通に使えました。

根気強く探したところ、この記事を発見
~$ printenv
----
:/mnt/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common
(省略)
ずらずらとwindowsの環境変数が出てきました。これがubuntuにも引き継がれてたことが原因らしいです。

この記事と同じような手順を踏みました。
~$ sudo vi /etc/wsl.conf
(ファイルがない場合は作成)
--
# WindowsのPATHを引き継がない設定を追記する
[interop]
appendWindowsPath = false
windowsを再起動
~$ echo $PATH
(パスが削除されていることを確認)
無事使えるようになりました。

環境変数周りを雑にいじったせいなのか相変わらずずっと調子が悪いのでwsl2をリセットしました。
結局これが一番早いんじゃないかなと思います。https://ari23.hatenablog.com/entry/wsl2-uninstall