在 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 命令的主要内容,如果未能解决你的问题,请参考以下文章