0

尝试 ssh 到另一个系统然后执行 db2 命令但是使用 'su db2admin -c' 似乎不起作用,尽管它适用于正常的系统命令..

#!/bin/bash

sshpass -p 'passw0rd' ssh root@server.com "su db2admin -c 'db2text start'"

这是输出..

rob@laptop:~/Desktop$ ./script.sh
bash: db2text: command not found

有任何想法吗?

4

3 回答 3

0

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

话虽如此:你到底为什么不以 db2admin 的身份连接 w/ 无密码密钥?

于 2013-03-06T17:07:18.477 回答
0

PATH 没有更新为普通的 root 用户 PATH。指定 db2text 的完整路径或在用户名前添加破折号 (-) 以重新加载环境变量

于 2013-03-06T17:12:09.653 回答
0

另一个有效的解决方案..

#!/bin/bash

sshpass -p 'passw0rd' ssh root@server.com "su db2admin -c '~/sqllib/bin/db2text start'"

但问题是 db2 路径可能会改变,最好使用 Eric 的答案。

于 2013-03-09T17:08:03.490 回答