cmd.sh
#!/bin/bash
if [ "" = "$1" ]; then
echo '用法: ./cmd.sh 命令内容'
echo '示例: ./cmd.sh "ps -ef"'
exit 0
fi
# 获取时间戳(毫秒)
function getTimestamp() {
datetime=`date "+%Y-%m-%d %H:%M:%S"` # 获取当前时间, 例如: 2015-03-11 12:33:41
seconds=`date -d "$datetime" +%s` # 把当前时间转为时间戳(秒)
milliseconds=$((seconds*1000+10#`date "+%N"`/1000000)) # 把current转为时间戳(毫秒)
echo "${milliseconds}"
}
echo "开始时间: "`date +"%Y-%m-%d %H:%M:%S"`
echo
startTime=$(getTimestamp)
bash -c "$1"
endTime=$(getTimestamp)
echo
echo "结束时间: "`date +"%Y-%m-%d %H:%M:%S"`", 耗时:" $((${endTime}-${startTime})) "毫秒"
用法:./cmd.sh 命令内容,当命令内容存在空格时,需要用双引号包含。
示例:
./cmd.sh ls
./cmd.sh "ps -ef"
本文介绍了一个Bash脚本,该脚本能够接收一个命令作为参数执行,并记录从开始到结束的总耗时(以毫秒为单位)。通过使用内置的date命令,脚本能够获取当前的时间戳,并计算出命令执行前后的时间差。
1319

被折叠的 条评论
为什么被折叠?



