Запустить скрипт при входе по SSH на сервер

749
Doddy

Я пытаюсь понять, как заставить SSH запустить скрипт, прежде чем передать мне оболочку. Причина этого заключается в том, что я буду входить в систему совместно используемых пользователей во многих ящиках, и я хочу иметь свою собственную конфигурацию при входе в систему. Было бы неуместно помещать свои собственные переменные среды и псевдонимы .cshrc, не в последнюю очередь из-за количества различных пользователи на разных ящиках, в которые я буду входить.

Допустим, у меня есть сценарий с различными командами aliasи setenvкомандами, /home/adam/my_scriptи я хочу, чтобы он был получен при входе в систему.

Я пытался использовать:

ssh user@server1 'source /home/adam/my_script; tcsh' ssh user@server1 '. /home/adam/my_script; tcsh' 

а также это:

ssh user@server1 /home/adam/my_script ssh user@server1 'csh -c /home/adam/my_script' 

когда tcsh(без амперсанда) находится внизу my_script, но никакая комбинация не работает так, как вы ожидаете. Либо переменные окружения и псевдонимы не существуют, либо оболочка будет вести себя странно, как будто отсутствует строка ввода.

Что я делаю неправильно?

0
Я думаю, что это должно работать: `ssh -t user @ server1 'source / home / adam / my_script; tcsh'` - добавить `-t` glenn jackman 9 лет назад 2
Переменные среды работают, но похоже, что псевдонимы не работают. Я предполагаю, что они не унаследованы детскими раковинами? Doddy 9 лет назад 0
Вы должны проверить свою справочную страницу по tcsh. Что я делаю в аналогичной ситуации, так это отредактирую .bashrc, чтобы добавить функцию, которая получает исходный текст моего скрипта конфигурации. Итак, я вхожу, набираю `jackman` и все готово. glenn jackman 9 лет назад 0

0 ответов на вопрос

Похожие вопросы