内联bash时间变量扩展

时间:2013-05-30 21:27:34

标签: bash

在一个bash脚本中,我正在进入另一个盒子;运行一个脚本,然后运行另一个脚本;我正试图弄清楚第一个脚本运行多长时间。

#!/bin/bash
echo "Test Time Stamp"
STARTTIME=`date +%s`
ssh username@000.000.000.000 'scriptToRun.bat echo$?;/path/to/script.py '$STARTTIME `date +%s`'; exit $$?

STARTTIME和第二个date +%s获得相同的值。

如果我做类似以下的事情

`date +%s`; sleep 10; `date +%s` 

这似乎有效。

2 个答案:

答案 0 :(得分:3)

问题是,此命令中的date

ssh user@remote.com script `date`

在ssh之前执行,类似于这种情况:

ssh user@remote.com process.bat $(ls .*a)

你可以使用time来逃避反引号并使远程端执行该部分:

time ssh ....

或者,在ssh行后执行:

date
ssh
date

会更简单。

答案 1 :(得分:0)

你得到同样的时间,因为行

ssh username@000.000.000.000'scriptoToRun.bat echo $ ?; / path / to / script.py'$ STARTTIME date +%s'

在执行前进行评估。