2013-03-06 4 views
0

пытается SSH к другой системе, то выполнять команды DB2, однако с помощью «су 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 не обновляется обычным пользователям PATH. Либо указать полный путь к db2text или добавить тире (-) перед именем пользователя, чтобы перезагрузить переменные окружения

0

Я буду угрожать догадкой и скажу, что у корня нет ни одного элемента db2 в hi-пути. И так как вы используете su db2admin, а не su - db2admin db2admin наследует окружение корня. Попробуйте с этим добавочным.

Что все сказано: почему вы не подключаете w/keyless ключи как db2admin?

0

Другим решением, которое работало ..

#!/bin/bash 

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

Но проблема в том, db2 путь может измениться, лучше использовать Ответ Эрика.

Смежные вопросы