我的脚本正在从docker容器捕获时间,下一步我想将其转换为某种格式,这样我就可以用当前系统时间替换docker time并获得差异。
所以现在我想要至少转换它,这样我的脚本就会理解我正在与时间合作。
#!/bin/bash
name=$1
matching=$(docker ps -a --filter="name=$name" -q | xargs)
current_time=$(date -u +"%Y-%m-%dT%T")
echo Current time: ${current_time}
for i in $matching
do
time=sudo docker inspect $i | grep -w "StartedAt" | awk '{gsub(/"/, "", $2); print $2 }' | head -n 1 | cut -c -19
echo ${time}
echo $(date -d +"%Y-%m-%dT%H:%M:%S" --date="$time")
done
我得到的输出是
Thu Apr 20 00:00:00 PDT 2017
2017-04-19T00:57:15
但我希望得到:
Wed Apr 19 00:57:15 PDT 2017
2017-04-19T00:57:15
答案 0 :(得分:1)
docker inspect
命令输出未分配给time
变量。尝试命令替换:
#!/bin/bash
name=$1
matching=$(docker ps -a --filter="name=$name" -q | xargs)
current_time=$(date -u +"%Y-%m-%dT%T")
echo Current time: ${current_time}
for i in $matching
do
time=$(sudo docker inspect $i | grep -w "StartedAt" | awk '{gsub(/"/, "", $2); print $2 }' | head -n 1 | cut -c -19)
echo ${time}
echo $(date -d +"%Y-%m-%dT%H:%M:%S" --date="$time")
done