2013-03-06 77 views
0

执行DB2命令试图ssh到另一个系统,然后命令却使用“苏DB2ADMIN -c”似乎并没有工作执行DB2,然而它可以用于正常的系统命令..通过ssh

#!/bin/bash 

sshpass -p 'passw0rd' ssh [email protected] "su db2admin -c 'db2text start'" 

这是输出..

[email protected]:~/Desktop$ ./script.sh 
bash: db2text: command not found 

任何想法?

回答

0

PATH未更新到正常的root用户PATH。无论是指定的完整路径db2text或添加一个破折号( - )的用户名之前重新加载环境变量

0

我会冒险猜测并说root在hi路径中没有任何db2的东西。 并且由于您使用的是su db2admin而不是su - db2admin db2admin继承 root的环境。试试这个额外的东西 - 扔进去。

这一切都说:为什么地球上不是你连接w /无密码键作为db2admin?

0

另一种解决方案,它的工作..

#!/bin/bash 

sshpass -p 'passw0rd' ssh [email protected] "su db2admin -c '~/sqllib/bin/db2text start'" 

但问题是DB2路径可能发生变化,最好使用埃里克的回答。