Переменные окружения при выполнении комманды через ssh

Модератор: Модераторы разделов

deda
Сообщения: 1

Переменные окружения при выполнении комманды через ssh

Сообщение deda »

Привет,
у меня возникла задача делать дамп базы Oracle через ssh.
Так вот когда я выполняю комманду

Код: Выделить всё

#ssh foo@bar sudo su oracle -c "\${ORACLE_HOME}/bin/expdp \\'/ as sysdba\\' dumpfile=oracle.dmp schemas=test1211_1"

ничего не выходит.
Как выяснилось, при запуске комманд в виде

Код: Выделить всё

#ssh foo@bar command

не все переменные окружения есть в наличии, по сравнению с

Код: Выделить всё

#ssh foo@bar command

Код: Выделить всё

#command

среди отсутствующих есть и нужная мне ${ORACLE_HOME}. :(
В том, что списки переменных различны я убедился выполнив

Код: Выделить всё

#ssh foo@bar sudo su oracle -c "set"

и

Код: Выделить всё

#ssh foo@bar
#sudo su oracle -c "set"


Помоготе пожалуйста мне решить эту головоломку... :frusty:

P.S. На сервере на который заходим стоит Red Hat.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Переменные окружения при выполнении комманды через ssh

Сообщение watashiwa_daredeska »

Я для себя сбацал скриптик "run with .profile" (и положил его как /usr/local/bin/rwp, который присутствует в умолчательном $PATH):

Код: Выделить всё

#!/bin/sh

if [ -f $HOME/.profile ]; then
    . $HOME/.profile
elif [ -f $HOME/.bash_profile ]; then
    . $HOME/.bash_profile
fi

exec "$@"
Запускать программы так (на примере "логин сразу в screen"):

Код: Выделить всё

$ ssh remote.workstation.ru rwp screen -DR
Спасибо сказали: