2013-05-20 3 views
-1

Если я используюUnix ошибка сценария оболочки

ssh -Y [email protected] 

и достигают в другой хост и тип х часов & она работает fine.But, если я использую его в сценарии в Интернете, как

ssh -Y [email protected] x clock & ; 

это дает мне ошибку как ksh: x clock: not found.

Просьба предложить.

+0

добавить путь к часам в сценарии –

ответ

1

просто запустите:

ssh -Y [email protected] clock 

скрипте вы используете пытается EXEC команду x, которая не существует

0

При выполнении команды на одной строке, ваша удаленная оболочка будет в неинтерактивном режиме. Из-за этого в удаленной оболочке выполняются разные сценарии, и из-за этого ваша настройка PATH отличается.

Один из способов исправить это, чтобы найти скрипт, который устанавливает интерактивные оболочки PATH, а также найти скрипт, который используется неинтерактивными оболочками, и настроить последнее, чтобы установить PATH так же, как и первый.

Другим решением, которое может быть проще, чтобы использовать полный путь в вашей команде, выполните следующие действия:

  1. Войти с использованием ssh, как обычно, и проверить полный путь команды, которую вы хотите запустить , Если команда xclock, то вы можете проверить его полный путь с which xclock, например:

    $ which xclock 
    /usr/X11/bin/xclock 
    
  2. Выход, и запустить команду в одну строку, но используя полный путь:

    ssh -Y [email protected] /usr/X11/bin/xclock 
    
+0

Да Яноша, я проверил PATH являются дифф, но как установить PATH в сценарий запуска. – sagar

+0

привет Янош, я пробовал то же самое, и теперь он дает мне ошибку, поскольку xauth: не найден. stty:: Не пишущая машинка Соединение X11 отклонено из-за неправильной аутентификации. X соединение с 10.100.2.23:10.0 сломанным (явное уничтожение или завершение работы сервера). – sagar

+0

Это другой вопрос. Попросите его на http://unix.stackexchange.com/ и поделитесь со мной ссылкой, и я могу попытаться ответить на нее. – janos

2

Во-первых, я думаю, что это должно быть xclock, а не x clock (без пробела!). Если вы хотите выполнять команды через SSH, то в идеале вы бы иметь что-то вдоль линий:

ssh [email protected] 'ls -lrt'

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