当我在本地计算机上运行此命令时,为什么会输出
$ 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'
仅打印空白行?
最佳答案
您可能不需要bash -c
,只需要这样就可以打印日期:
ssh nathan@gnunix 'a=$(date) && echo $a'
如果必须使用
bash -c
,请像这样转义$
(否则$
由当前shell解释,而不是远程的)ssh nathan@gnunix "bash -c 'a=\$(date) && echo \$a'"
Fri Feb 21 01:22:42 EST 2014
关于bash - 没有通过SSH从bash -c输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21926673/