2014-02-21 3 views
1

Как прийти, когда я запускаю это на моей локальной машине я не получил результатыНет выход из Баша -са через SSH

$ bash -c 'a=$(date) && echo $a' 
Thu Feb 20 23:12:26 MST 2014 

но если я пытаюсь его через SSH (у меня есть открытый ключ на другом поле, но нет принудительных команд в authorized_keys)

$ ssh [email protected] bash -c 'a=$(date) && echo $a' 

Печатается только пустая строка?

ответ

2

Вам не нужно bash -c, вероятно, только это будет иметь возможность печатать дату:

ssh [email protected] 'a=$(date) && echo $a' 

Если вы должны использовать bash -c затем бежать $ как это (иначе $ интерпретируются текущей оболочка не удалённый)

ssh [email protected] "bash -c 'a=\$(date) && echo \$a'" 
Fri Feb 21 01:22:42 EST 2014 
+0

Любая идея, почему они используют [а 'Баш -c' подход] (http://quickshiftin.com/blog/2013/11/performance-boost-fabric-scripts/) в [ткань] (http://docs.fabfile.org/en/1.8/)? – quickshiftin

+0

См. Обновленный код, если вам нужно использовать только 'bash -c'. – anubhava

+1

Спасибо, второй пример полезен. – quickshiftin

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