2012-06-17 3 views
1

Я пытаюсь уменьшить ввод текста, написав скрипт, выполняющий несколько команд ssh. Хотя это не проблема, просто открыть редактор, например, я не могу открыть редактор с определенным файлом:SSH x пересылка/экран по сценарию

это работает:

editFile="ssh -X -t [email protected]$serverIP 'nano'" 
$editFile 

это не делает:

editFile="ssh -X -t [email protected]$serverIP 'nano ~/test'" 
$editFile 

Я также не могу подключиться к экрану, как это так, в то время как просто начиная экран работает отлично:

viewScreen="ssh -X -t [email protected]$serverIP 'screen -r screen1' 
$viewScreen 

Если добавить флаг -v, после того, как соединение будет установлено, я получаю эту ошибку:

debug1: Sending command: 'nano /home/herb/.Scripts/test.txt' 
bash: nano ~/test: No such file or directory 

debug1: Sending command: 'screen -r screen1' 
bash: screen -r screen1: command not found 

Обе команды работают без проблем, если набран в терминале, так что должно быть какое-то волшебство я пропускаю Вот!

+1

См. [BashFAQ/050] (http://mywiki.wooledge.org/BashFAQ/050). –

ответ

3

Одна из проблем заключается в том, что вы используете одинарные кавычки для аргумента команды. Без них он должен работать (или хотя бы дать вам другую ошибку).

Вы также должны использовать команду «псевдоним» вместо того, чтобы назначить команды для переменных:

alias viewScreen="ssh -X -t [email protected]$serverIP screen -r screen1" 
viewScreen 

знать, что это оценивает переменные при определении псевдонима. $ username и $ serverIP должны быть определены ранее.

+0

, заменив одинарные кавычки двойными кавычками, дал ту же ошибку ... – herbert

+1

извините случайно отправил комментарий преждевременно ... В качестве эксперимента я использовал его, как вы выразились, без каких-либо цитат, и это сработало! кроме того, что он работает только при использовании переменной, метод alias дает мне команду не найденную! Я был под впечатлением, что одиночные/двойные кавычки вокруг командной части требуются .. при условии, что они были единственной причиной, по которой скрипт терпел неудачу. Не могли бы вы дать мне еще один намек, почему я должен использовать псевдоним и как? – herbert

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