2012-01-09 102 views
0
ssh [email protected]_system " echo $dateVar; date=$dateVar" 

我试图从shell脚本,我相信工作正常内通过dateVar到远程系统,然后尝试在远程服务器上的日期设置为的dateVar变量,但没有成功。有人可以帮忙吗?SSH - 远程传递和设置变量

问候!

+1

我看到你设置了一个名为'date'变量。你期望这会有什么效果? – ugoren 2012-01-09 21:31:46

+2

“回声”是否打印正确的值?而且你知道你需要调用'date'命令而不用'=',否则你只是创建一个名为'date'的新变量而不使用它? – DarkDust 2012-01-09 21:33:34

+1

您可以使用类似date -s“20012.01.07-22:46 + 0000”的方式来设置日期,您的方法只是定义了一个新变量。 – Mithrandir 2012-01-09 21:37:29

回答

1

date man page开始,使用date命令设置日期,您应该执行date --set=$dateVar。因此,为了改变远程系统上的日期,执行以下就足够了:

+0

谢谢。这应该工作,虽然如下所述,我需要与sudoers文件玩一下。 – user1139654 2012-01-10 14:44:45

+0

以下命令起作用:ssh xxsi675 sudo date --set =“'$ dateVar'” – user1139654 2012-01-10 20:15:06

+0

@ user1139654:如果该命令适用于您,您是否可以通过点击旁边的勾号将其设置为正确答案以绿色显示?此外,不要忘记对DarkDust的回答进行投票,就像他建议使用'sudo'一样。 – gsbabil 2012-01-11 01:30:18

0

假定日期格式是正确的,你需要删除=,因为它创建/设置一个变量命名date而不是调用命令date的:

ssh [email protected]_system "date $dateVar" 

您的用户xxx可能没有必要权利,所以你可能会成立sudo(谷歌之类的东西sudo/etc/sudoers),这样你可以这样做:

ssh [email protected]_system "sudo date $dateVar" 
+0

谢谢!我会试一试。 – user1139654 2012-01-10 05:35:05

+0

以下命令起作用: ssh xxsi675 sudo date --set =“'$ dateVar'” – user1139654 2012-01-10 20:14:42