2013-08-30 3 views
1

Я часто дома на 2-м этаже, и я слежу за (открытыми) садово-парковыми стендами с помощью веб-камеры и этих сценариев.Как запустить команду ssh en впоследствии локальную команду в скрипте?

Сначала я подключиться к удаленной системе с $ ш ~/.camconn, который содержит:

sshpass -f 'passw' ssh -X [email protected] '~/webcam5050' 

удаленный файл ~/webcam5050 содержит:

#! /bin/sh 
cvlc -vvv v4l2:// --sout '#transcode{vcodec=mjpg,vb=2000,width=320,height=240,venc=ffmpeg}:duplicate{dst=standard{access=http,mux=mpjpeg,dst=0.0.0.0:5050/video.mpjpeg} 

После от 5 до 6 секунд ожидания, я запускаю локальный просмотр веб-камеры $ sh ~/compaqcam, содержащий:

cvlc http://remoteip:5050/video.mpjpeg 

и bingo: Я получаю красивое окно VLC на рабочем столе.

Конечно, я хотел бы все это случилось с одной командой, и я попытался без толку:

#!/bin/bash 
(camcon &) && (sleep 8 &) && (compaqcam &) & 

Крошечная немного Succes с I имел с этим сценарием:

#!/bin/bash 
(sshpass -f 'passw' ssh -X [email protected] '~/webcam5050'&) && (sleep 8 &) && (cvlc http://remoteip:5050/video.mpjpeg &) & 

, который в наименьшее показывает «sshd (принято)» на пульте дистанционного управления, но потом ничего больше не происходит.

Можно ли указать мне направление вправо? Если так, я был бы очень (!) Благодарен, так как в этом случае мне не удалось справиться с моими инструкциями bash (4 шт.).

+0

Почему у вас есть '&' после 'sleep 8' в скобках. Это будет помещено в фоновом режиме, чего вы не хотите от команды сна, которую я ожидал бы. Кроме того, почему одна строка в скрипте - вы могли бы просто сделать это в отдельных строках (опять же, без '&' после сна) – SpaceDog

ответ

1

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

#!/bin/bash 
camcon & 
sleep 8 
compaqcam & 

Вы все еще можете сделать это на одной линии без & после вашего sleep 8, но этот путь становится понятным и понятным в будущем.

+0

Отлично, он работает (на 99,9%!) То есть 0,01% несовершенство что я должен запустить этот процесс дважды. При первом открытии терминала и запросе пароля. Выключение этого соединения начинается снова, как ожидается (хотя терминал снова есть, но я могу закрыть его), и видео на моем экране. – user2732873

+0

BTW sleep без «&» возвращает: «sleep: недопустимый интервал времени' compaqcam » – user2732873

+0

Это странно, если они находятся на отдельных строках в скрипте, не должны видеть это как параметр, если вы делаете это на одном строка с скобками должна работать.Для парольной вещи вам нужно посмотреть, как дать разрешение ssh для входа на удаленный компьютер автоматически, я не могу вспомнить команды для этого, но man-страница для ssh должна помочь. Вам нужно сгенерировать ключ на удаленном компьютере, а затем скопировать его на локальный компьютер в нужном месте. В настоящий момент у меня есть ограниченный доступ к сети, поэтому я не могу найти хороший пример, вы должны иметь возможность его использовать. – SpaceDog

0

!/Bin/Баш

camcon & сон 8 compaqcam &

сделал трюк, наряду с SSH-кейген и SSH-копия-ID. Спасибо большое!