在 unix 中找不到 db2 命令

Posted

技术标签:

【中文标题】在 unix 中找不到 db2 命令【英文标题】:db2 command not found in unix 【发布时间】:2015-01-12 08:51:29 【问题描述】:

我正在尝试在 Linux 命令提示符下执行一个简单的 db2 命令。但 Linux 命令提示符无法识别它给出的命令 - 找不到 bash db2 命令。但是 db2 安装在 Linux 机器上。

我试图从 Linux 命令行处理器执行的命令是 db2 "create database smaple"

我得到的错误如下 “如果 db2 不是拼写错误,您可以运行以下命令来查找包含二进制文件的包”命令未找到 db2 -bash: db2:找不到命令”

这是因为环境变量问题吗?或者只有一个 db2 实例,即 db2inst1 在机器中运行。我在 appsusr 中的用户名和 db2 实例名是 db2inst1 不同,这会导致问题吗?而且我没有超级用户访问权限。这会导致任何问题吗?我需要超级用户访问权限吗??

【问题讨论】:

听起来您需要修改您的PATH 环境变量,使其包含安装db2 的目录。 【参考方案1】:

只需在命令提示符中键入 echo $PATH,您可以在其中看到系统中所有导出的路径。

如果在您的环境变量列表中找不到 db2 路径,请执行以下操作。

导出 PATH=$PATH:/opt/IBM/db2/V10.1/bin

然后按 Enter。 我希望这能解决您的问题。

【讨论】:

我很惊讶它的工作原理,因为你应该通过db2profile 脚本设置你的环境变量(见下面我的回答)【参考方案2】:

在 Linux 和 UNIX DB2 平台上,设置环境变量以运行 DB2 命令的正确方法是获取属于本地 DB2 实例所有者的 sqllib/db2profile 脚本。这不仅会设置您的PATH,还会设置 DB2 需要的其他重要变量。

在您的情况下,实例归db2inst1 用户所有,因此您的登录启动文件或批处理脚本应运行以下命令:

. ~db2inst1/sqllib/db2profile

前导点是设置当前 shell 进程中的变量所必需的,而不是在 db2profile 完成后迅速消失的子进程。

【讨论】:

配置文件不运行有时会导致 PATH 变量无法被修改... 如果您的配置文件在登录期间没有自动运行,您需要自己获取 db2profile。无论哪种方式,您都不需要修改 PATH 变量来使用 DB2,因为这是 db2profile 命令所做的一部分。【参考方案3】:

如果安装了 DB2,它很可能根本不在您的路径中。

您的路径应包含以下内容:

/opt/IBM/db2/V10.1/bin

这是可执行文件所在的位置(取决于您运行的版本)。

更改路径可能需要更改其中一个启动文件,例如 .bashrc.bash_profile

【讨论】:

我需要查看路径是否存在。在我的 .bashrc 中只有这个条目有 test -s ~/.alias && 。 ~/.别名 ||真的 那个 DB2 版本是什么? 嘿,谢谢 Shivaraj Bhat。谢谢大家的回复。最后在设置 db2 环境变量之后,它现在可以工作了。我通过以下命令设置更新的环境变量 export PATH=$PATH:export PATH=$PATH:/opt/IBM/db2/V10.1/bin 它正在工作。 @ChandanDN 嗨 Chandan,如果它对任何方式有用,请点赞答案.. :)

以上是关于在 unix 中找不到 db2 命令的主要内容,如果未能解决你的问题,请参考以下文章

在 Tomcat 中找不到适合 jdbc 错误的驱动程序

在 VSCode 扩展中找不到命令

在 OS X 10.7 中找不到 Mysql 命令

超越代码暴露 |暴露:在linux中找不到命令错误

在 OSX Mavrerick 中找不到 mvn 命令

Discord Python代码中找不到命令错误