2015-07-27 3 views
1

Я загрузил psql и попытался запустить его, но это не сработало. Он показывает:Почему я не могу запустить команду «psql»?

[email protected]:~$ psql 
-bash: /usr/bin/psql: No such file or directory 

Но я использую найти для поиска Psql он существует:

[email protected]:~$ locate psql 
/etc/alternatives/psql.1.gz 
/usr/bin/psql 
/usr/lib/postgresql/9.3/bin/psql 
/usr/lib/x86_64-linux-gnu/odbc/libodbcpsqlS.so 
/usr/share/bash-completion/completions/psql 
/usr/share/man/man1/psql.1.gz 
/usr/share/postgresql/9.3/psqlrc.sample 
/usr/share/postgresql/9.3/man/man1/psql.1.gz 
/var/lib/dpkg/alternatives/psql.1.gz 
/var/lib/postgresql/.psql_history 

чем причина?

+1

Может быть, ваш пользователь не имеет разрешения на выполнение набора. Запустите 'ls -l/usr/bin/psql' и посмотрите на флаги. – paddy

ответ

1

Похоже, что это вызвано кэшированием пути с разрешением Bash. Вы можете проверить эту теорию с помощью бега:

type psql 

Если она возвращает psql is hashed (/usr/bin/psql), то это действительно наша проблема. Run:

hash -d psql 

, чтобы очистить этот кэш, затем попытайтесь снова psql.

Edit: я получил вышеуказанные команды от https://unix.stackexchange.com/questions/5609/how-do-i-clear-bashs-cache-of-paths-to-executables

Смежные вопросы