質問

I asked a question at how to write a beautifully elegant linux command in bash shell

And when I tried the suggestion, I got the following error message.

Sorry, command-not-found has crashed! Please file a bug report at:
https://bugs.launchpad.net/command-not-found/+filebug
Please include the following information with the report:

command-not-found version: 0.3
Python version: 3.2.3 final 0
Distributor ID: Ubuntu
Description:    Ubuntu 12.10
Release:    12.10
Codename:   quantal
Exception information:

unsupported locale setting
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/CommandNotFound/util.py", line 24, in crash_guard
    callback()
  File "/usr/lib/command-not-found", line 69, in main
    enable_i18n()
  File "/usr/lib/command-not-found", line 40, in enable_i18n
    locale.setlocale(locale.LC_ALL, '')
  File "/usr/lib/python3.2/locale.py", line 541, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting

This is what I currently write in my .bashrc

source .bashrc
export LC_CTYPE="utf-8"
function go_app() { cd /var/virtual/$1/; }

Here is my /var/www directory

www-data@ubuntu:~$ ls -la
total 52
drwxr-xr-x  5 www-data www-data  4096 Nov  9 15:03 .
drwxr-xr-x 15 root     root      4096 Nov  8 09:51 ..
-rw-------  1 www-data www-data 19657 Nov  7 23:24 .bash_history
-rwxr-xr-x  1 www-data www-data    82 Nov  9 15:03 .bashrc
drwx------  2 www-data www-data  4096 Aug  7 19:28 .cache
drwxrwxr-x  3 www-data www-data  4096 Aug  9 19:19 .composer
-rw-------  1 www-data www-data     6 Aug  8 11:48 .mysql_history
-rw-------  1 root     root        50 Nov  9 15:08 .nano_history
drwxrwxr-x  2 www-data www-data  4096 Aug  7 20:19 .ssh

EDIT:

New .bashrc

export LC_CTYPE="en_US.utf8"
function go_app() { cd /var/virtual/$1/; }

Error message:

go_app: command not found

正しい解決策はありません

他のヒント

A bad WSL upgrade messed up some of my file permissions. None of the other answers worked for me, but this did:

sudo chmod o+r /var/lib/command-not-found/commands.db

This should fix the "Sorry, command-not-found has crashed!..." issue:

export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
sudo locale-gen en_US.UTF-8 # sudo required on ubuntu 20.04
sudo dpkg-reconfigure locales

If any of the above solutions don't work, it means "command-not-found" utility itself is misconfigured.

Simply remove the utility,

sudo apt purge command-not-found

and install again,

sudo apt install command-not-found

this is better with a final asterisk :

sudo chmod o+r /var/lib/command-not-found/commands.db*
>----------------------------------------------------^

Have you tried changing export LC_CTYPE="utf-8" to export LC_CTYPE="en_US.utf8"? The latter references a valid locale name on my system. You can see the valid locale names on your system by running locale -a.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top