Здраствуйте!
Имеется вычислительный кластер, SuSE 9, настроен ssh на беспарольный доступ к любому узлу, все работает, но есть одна проблема...
Если зайти на узел командой
$ssh node-1
и запустить на нем
$env | grep $PATH
получаем результат
MANPATH=/usr/local/man:/usr/share/man:/usr/X11R6/man:/opt/gnome/share/man
GNOME2_PATH=/usr/local:/opt/gnome:/usr
GNOME_PATH=:/opt/gnome:/usr
XNLSPATH=/usr/X11R6/lib/X11/nls
PATH=/share/mpiexec/bin:/home/davydovk/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/local/ofed/bin:/usr/local/ofed/sbin:/share/lam/bin
GTK_PATH=/usr/local/lib64/gtk-2.0:/opt/gnome/lib64/gtk-2.0:/usr/lib64/gtk-2.0
PKG_CONFIG_PATH=/opt/gnome/lib64/pkgconfig
ACLOCAL_PATH=/opt/gnome/share/aclocal
INFOPATH=/usr/local/info:/usr/share/info:/usr/info:/opt/gnome/share/infoоднако если не заходить на узел, а просто запустить
$ssh node-1 env | grep $PATH
получаем
PATH=/usr/bin:/bin:/usr/sbin:/sbin
а вот что дает команда
$ssh node-1 echo $PATH
/share/mpiexec/bin:/home/davydovk/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/local/ofed/bin:/usr/local/ofed/sbin:/usr/sbin:/share/lam/bin
Как заставить ssh правильно передавать значения переменных среды? В /etc/profile прописываю, в $HOME/.profile прописываю. Оболочка везде bash.
Дело в том, что в переменной $PATH не отображаются нужные директории, в результате нестандартные команды на узлах запускаются только при указании полного пути...
Второй вопрос, почему env и echo $PATH выдают разные значения? Переменная то одна...
Спасибо.
P.S.: ssh работает правильно,
$ssh node-1 hostname
выдает
node-1