从脚本中的字符串获取纪元
Get epoch from string in script
我有一个 openvpn 状态文件,内容为:
OpenVPN STATISTICS
Updated,Tue Nov 5 16:45:50 2019
...
我想在我的脚本中解析更新时间,以了解 vpn 是否开启。
这是我的脚本:
#!/usr/bin/env bash
logDate=$(sudo cat /home/ubuntu/vpn/openvpn-status.log | grep Update| awk -F "," '{print }')
logEpoch=$(date -d $logDate +"%s")
当我在终端中 运行 相同的命令时,它工作正常,但是当我 运行 脚本时它给我一个错误:
date: extra operand ‘5’
Try 'date --help' for more information.
我认为您在使用变量时需要添加引号。
该脚本适用于:
#!/usr/bin/env bash
logDate=$(sudo cat /home/ubuntu/vpn/openvpn-status.log | grep Update| awk -F "," '{print }')
logEpoch=$(date -d "$logDate" +"%s")
echo "$logEpoch"
解释在这里:mywiki.wooledge.org/Quotes – @Ed Morton
我有一个 openvpn 状态文件,内容为:
OpenVPN STATISTICS
Updated,Tue Nov 5 16:45:50 2019
...
我想在我的脚本中解析更新时间,以了解 vpn 是否开启。
这是我的脚本:
#!/usr/bin/env bash
logDate=$(sudo cat /home/ubuntu/vpn/openvpn-status.log | grep Update| awk -F "," '{print }')
logEpoch=$(date -d $logDate +"%s")
当我在终端中 运行 相同的命令时,它工作正常,但是当我 运行 脚本时它给我一个错误:
date: extra operand ‘5’
Try 'date --help' for more information.
我认为您在使用变量时需要添加引号。 该脚本适用于:
#!/usr/bin/env bash
logDate=$(sudo cat /home/ubuntu/vpn/openvpn-status.log | grep Update| awk -F "," '{print }')
logEpoch=$(date -d "$logDate" +"%s")
echo "$logEpoch"
解释在这里:mywiki.wooledge.org/Quotes – @Ed Morton