Выходы SSH после случая выхода в сценарии удара

Да, Ваше ядро содержит UVC, но сделайте, чтобы Вы создали их (или создатели Debian)? Необходимо проверить модуль, как Kevin записал, следующий драйвер может быть скомпилирован в ядре, таким образом проверьте конфигурацию: grep USB_VIDEO_CLASS /usr/src/linux/.config. Когда у Вас будет выполнение драйвера, некоторые веб-камеры нуждается во встроенном микропрограммном обеспечении, по крайней мере.

2
09.09.2013, 15:48
4 ответа

Проблема была в bash_aliases. Я должен был удалить exec перед сценарием. Таким образом, теперь bash_aliases файл похож:

command="/path/to/script.sh"

exec причины SSH для выхода из сессии.

0
27.01.2020, 22:06

На основе поведения Вы описываете это, кажется, что Вы запускаете свой скрипт как так:

$ ssh remote picker.bash

Пример

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

Скажите, что у меня есть 2 компьютера, remotey и lappy. Мы обозначим их использующий "L" для lappy и "R" для remotey.

L$ ssh remotey

R$ ./picker.bash
1) option 1
2) Option 2
3) Option 3
4) Quit
Please enter your choice: 4

R$

Однако, если я запускаю скрипт как это, я получаю поведение, которое Вы описываете где ssh терминал уходит:

L$ ssh remotey ./picker.bash
1) option 1
2) Option 2
3) Option 3
4) Quit
Please enter your choice: 4

L$
1
27.01.2020, 22:06
  • 1
    Задолго до того, как я запускаю скрипт, я переношу еще некоторые операции, чтобы сделать. Таким образом, я вхожу в систему с ssh username@server, затем я делаю некоторую загрузку файла на удаленном сервере, и после этого я запускаю скрипт - я пишу путь и название сценария. И после этого выходы ssh. –  ispasov 09.09.2013, 11:39
  • 2
    @ispasov - Хорошо это - то, что я изобразил, но поведение походило на вышеупомянутое. Можно ли совместно использовать остальную часть сценария на сервере Ubuntu. Существует что-то еще в сценарии помимо вышеупомянутого, которое заставляет его выходить. –  slm♦ 09.09.2013, 15:33
  • 3
    @sim Это - целый сценарий. Я просто тестирую его, прежде чем добавят больше команд к нему, и я получаю это странное поведение. –  ispasov 09.09.2013, 15:39
  • 4
    @ispasov - Делает сценарий не, включают #!/bin/bash наверху затем? –  slm♦ 09.09.2013, 16:03
  • 5
    Да. Но я нашел решение (моя ошибка). Посмотрите конец моего ответа.Спасибо за помощь. –  ispasov 09.09.2013, 17:34

Вы могли запустить подоболочку с опции 4, но когда я пробую ее 'должностным лицом/bin/bash - вход в систему' подсказка подоболочки потерян, представив удаленную оболочку, несколько трудную использовать.

Страница справочника для ssh, кажется, предполагает, что можно выполнить оболочку Xor команда, но не оба:

РЕЗЮМЕ ssh [много опций] [user@] имя хоста [команда]...

Если команда указана, она выполняется на удаленном хосте вместо оболочки входа в систему.

...

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

...

Сессия завершается, когда команда или оболочка на удаленной машине выходят

1
27.01.2020, 22:06

Если Вы работаете ssh remotehost somescript затем сценарий работает и вот именно. Вы только получаете интерактивную оболочку, если Вы не указываете удаленную команду: интерактивная оболочка является удаленной командой по умолчанию. Когда сценарий выходит, удаленный сеанс закончен.

Если Вы хотите выполнить интерактивную оболочку после сценария, затем сказать SSH о желании обоих. Добавьте -t опция так, чтобы Вы получили терминал на удаленном хосте: по умолчанию SSH только создает терминал, когда Вы говорите ему выполнять интерактивную оболочку, не при определении команды.

ssh -t remotehost '/path/to/script; exec bash'

Обратите внимание, что любая переменная среды, определенная в сценарии, не будет доступна. Если Вы нуждаетесь в этом, получаете сценарий в удаленной оболочке вместо этого. Это также позволяет Вам закрыть сеанс из сценария: exit в сценарии только выйдет из сценария, но целого удаленного сеанса, так как это все работает в одной оболочке.

ssh -t remotehost '. /path/to/script; exec bash'
1
27.01.2020, 22:06
  • 1
    Хорошо, если я работаю, команда как этот SSH не выходит. Но я должен войти в сервер сначала, затем выполнить несколько операций прежде для запущения скрипта. У меня также есть псевдоним удара для сценария. Так могли Вы говорить мне, как запустить сценарий таким образом и предотвратить SSH для выхода. –  ispasov 09.09.2013, 12:06
  • 2
    @ispasov, Если Вы выполняете SSH и получаете приглашение оболочки, затем вызывает сценарий от того приглашения оболочки, затем SSH не выходит. –  Gilles 'SO- stop being evil' 09.09.2013, 12:35
  • 3
    Проблема состоит в том, что это действительно выходит. Как правильно вызвать сценарий - с sh сценарием, исполнительный сценарий, или только написать имя сценария (колотите псевдоним)? –  ispasov 09.09.2013, 14:59
  • 4
    @ispasov, Что точно Вы делаете затем? Проблема находится в некоторой части, которую Вы не описываете в своем вопросе. Отправьте полный сценарий и объясните точно, как Вы вызываете его. –  Gilles 'SO- stop being evil' 09.09.2013, 15:01
  • 5
    В моем вопросе я отправил целый сценарий, как. Это - сценарий тестирования так вот почему, это не имеет никаких опций. Мои шаги: 1. ssh user@server; 2. Пароль; 3. Я зарегистрирован оболочка сервера и пишу путь и название сценария/home/user/bin/script.sh; 4. Когда я выбираю опцию 4 - Выход, выходы SSH. –  ispasov 09.09.2013, 15:05

Теги

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