Как к SSH в определенный каталог?

Ну, нашел, что что-то связанное с вышеупомянутым примером - просто имеет grep дополнительно матч "начинается строки" (^), и все несогласующие отрезки длинной линии передадут "целый" только с окрашенными номерами строки:

$ grep --color=always -n 'Format\|Files\|^' /usr/share/doc-base/doc-base | less -R

... (и в качестве награды, соответствия остаются выделенными).

Однако я все еще хотел бы знать если less может быть убежден сделать это "исходно"?

40
16.08.2013, 09:19
3 ответа

Просто помещенный как последняя строка Вашего ~bob/.bash_profile файла на нечто:

cd /home/guest >& /dev/null

Теперь каждый раз Вы входите в систему (ли SSH или иначе), команда CD будет работать. Нет слоняние без дела с ssh необходимо.

Я знаю, что Вы записали, что "требуется постараться не изменять что-нибудь на 'нечто', если возможный", но если учетная запись bob@foo является Вашей, изменяя собственный .bash_profile, должно быть приемлемым, нет?

23
27.01.2020, 19:35
  • 1
    Ну да, я думаю, что это будет работать отлично. Я не должен буду заставлять разрешение от IT вносить то изменение. Вы могли уточнить то, почему Вам нужно> и/dev/null? –  spuder 16.08.2013, 04:41
  • 2
    я думаю, что это должно быть &> /dev/null. Это предотвращает любое сообщение об ошибке, которое можно показать на всякий случай сбои CD для изменения каталога на/home/directory. Если Вы хотите видеть те сообщения, Вы могли бы просто исключить это. –  konsolebox 16.08.2013, 07:54
  • 3
    >& и &> то же в Bash. Последний стиль предпочтен все же. –   16.08.2013, 14:16
  • 4
    Кроме того, перенаправление к/dev/null препятствует тому, чтобы название каталога было отражено на экране, который может сделать "CD". –  DanB 11.09.2013, 04:40

Это работает с OpenSSH:

ssh -t bob@foo 'cd /home/guest && exec bash -l'

Последний аргумент работает в Вашей оболочке входа в систему. -t флаг передал ssh силы ssh выделить псевдотерминал, который необходим для интерактивной оболочки. -l флаг передал bash запускает удар как оболочку входа в систему.

41
27.01.2020, 19:35
  • 1
    Интересно, был бы, добавляя-l опцию колотить быть полезным также? ... && exec bash -l –  konsolebox 16.08.2013, 07:55
  • 2
    @konsolebox:Это хорошая идея. я добавил это к своему ответу. –   16.08.2013, 14:14

Можно также сделать это этот путь, подобный решению @EvanTeitelman:

$ ssh -t bob@foo "cd /tmp ; bash"

Или если Вы не знаете оболочку на другом конце:

$ ssh -t bob@foo "cd /tmp && exec \$SHELL"

Или как это:

$ ssh -t bob@foo 'cd /tmp && exec $SHELL'
17
27.01.2020, 19:35

Теги

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