2015-04-20 3 views
0

Я пытаюсь выполнить команду ниже.Ошибка не найдена

ssh node1 "nohup sleep 66 &; echo $!" 

Но я получаю сообщение об ошибке:

-bash: !": event not found 
+0

мне нужно хранить идентификатор процесса, чтобы проверить состояние позже – Ravikanth

ответ

0
ssh node1 'Pgrep -f sleep 66' 

решается вопрос

+1

Просьба продлить ответ: почему ваш ответ решает вопрос? –

+0

, сохраняя значение указанной выше команды в переменной, которая будет хранить идентификатор процесса сна 66. И мы можем проверить статус идентификатора процесса с помощью переменной в любое время. Кукольный вопрос заключался в том, чтобы сохранить идентификатор процесса удаленной машины в переменной. поэтому мы можем использовать: 1) ssh node1 'nohup sleep 66 &' 2) x (переменная) = 'ssh node1 'pgrep -f sleep 66' – Ravikanth

2

Вы должны использовать одиночные кавычки, чтобы предотвратить интерпретацию $!:

ssh node1 'nohup sleep 66 &; echo $!' 

Это также выглядит как ; не полезно Вот. Это похоже на работу:

ssh node1 'nohup sleep 66 & echo $!' 
+0

еще не работает – Ravikanth

+0

Баш: -c: строка 0: ошибка синтаксиса около неожиданной токен '; ' bash: -c: line 0: 'nohup sleep 66 &; echo $! ' – Ravikanth

+0

Не работает с одинарными кавычками также – Ravikanth

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