为什么我不能 运行 "psql" 命令?
Why I can't run "psql" command?
我下载了 psql 并尝试 运行 它但没有成功。它显示:
ubuntu@ip-172-31-17-155:~$ psql
-bash: /usr/bin/psql: No such file or directory
但我使用 locate 来搜索它存在的 psql:
ubuntu@ip-172-31-17-155:~$ 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
这是什么原因?
这看起来是由 Bash 的路径解析缓存引起的。您可以通过 运行:
来检验该理论
type psql
如果returnspsql is hashed (/usr/bin/psql)
,那确实是我们的问题。 运行:
hash -d psql
清除缓存,然后重试psql
。
编辑:我从https://unix.stackexchange.com/questions/5609/how-do-i-clear-bashs-cache-of-paths-to-executables
获得了以上命令
我下载了 psql 并尝试 运行 它但没有成功。它显示:
ubuntu@ip-172-31-17-155:~$ psql
-bash: /usr/bin/psql: No such file or directory
但我使用 locate 来搜索它存在的 psql:
ubuntu@ip-172-31-17-155:~$ 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
这是什么原因?
这看起来是由 Bash 的路径解析缓存引起的。您可以通过 运行:
来检验该理论 type psql
如果returnspsql is hashed (/usr/bin/psql)
,那确实是我们的问题。 运行:
hash -d psql
清除缓存,然后重试psql
。
编辑:我从https://unix.stackexchange.com/questions/5609/how-do-i-clear-bashs-cache-of-paths-to-executables
获得了以上命令