java环境下的Shell脚本时间输出

java环境下的Shell脚本时间输出,java,shell,time,Java,Shell,Time,我正在使用sshxcuteapi从java程序运行脚本。 脚本包含: #!/bin/sh data=`stat -c%y filename` echo $data 在bash上运行的脚本提供输出: 2014-03-08 13:26:29.335545828 -0800 2014-03-08 21:26:29.335545828 +0000 通过java程序运行的脚本提供输出: 2014-03-08 13:26:29.335545828 -0800 2014-03-08 21:26:29

我正在使用
sshxcuteapi
从java程序运行脚本。 脚本包含:

 #!/bin/sh
data=`stat -c%y filename`
echo $data
在bash上运行的脚本提供输出:

2014-03-08 13:26:29.335545828 -0800
2014-03-08 21:26:29.335545828 +0000
通过java程序运行的脚本提供输出:

2014-03-08 13:26:29.335545828 -0800
2014-03-08 21:26:29.335545828 +0000

我认为
-0800
正在增加。我需要第一种格式的输出。如何解决这个问题?

我试过了,效果很好。也许你在获取错误文件的统计数据方面遇到了一些问题

ex.sh

filename=$1
data=`stat -c%y $filename`
echo $data
当我从控制台运行
sh ex.sh x.log
时,我得到的结果如下:

 2014-03-11 16:56:21.000000000 +0200
我用ganymed ssh api做了同样的尝试,得到了同样的结果

2014-03-11 16:56:21.000000000 +0200

您是否调试了代码并查看了要运行的ssh命令?是的,sshexcute api只需将脚本输出复制到字符串sysout和returns,这可能与您和远程服务器的时区差异有关。您可以显示您的脚本吗?您可以编辑您的问题并显示整个脚本吗?让我试试ganymed ssh api。我不认为这与您使用的api有关。对我来说,有两种可能:你的电脑和远程电脑之间的时区差异,或者你在检查文件时犯了一些错误。我用ShexCute编写了程序。如果可能的话,你能给我发送你的java程序来运行脚本吗?我将我的java程序时区设置为与服务器时区相同。对不起,这是不可能的。您可以在几分钟内编写连接代码。