bash -c没有输出ssh

时间:2014-02-21 06:14:57

标签: bash ssh

为什么我在本地机器上运行时会得到输出

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

但如果我在ssh上尝试(我在另一个盒子上有一个公钥,但在authorized_keys中没有强制命令)

$ ssh nathan@gnunix bash -c 'a=$(date) && echo $a'

只打印一个空行?

1 个答案:

答案 0 :(得分:2)

您可能不需要bash -c,只需这样就可以打印日期:

ssh nathan@gnunix 'a=$(date) && echo $a'

如果你必须使用bash -c,那么就像这样逃避$(否则$被当前的shell解释为远程的{/ p>}

ssh nathan@gnunix "bash -c 'a=\$(date) && echo \$a'"
Fri Feb 21 01:22:42 EST 2014