gpt4 book ai didi

bash - Ping 结果到日志脚本 (El Capitan)

转载 作者:行者123 更新时间:2023-11-29 09:46:34 25 4
gpt4 key购买 nike

我正在使用运行 El Capitan 的 Mac。

对于我一直从事的项目,我正在尝试编写一个简单的脚本来记录 ping 时间。我得出的结论并不像我想的那么简单。我的第一个问题是使用变量时的“模糊重定向”。在 $INPUT Ambiguous redirect 的帮助下,我已经更正了这一点,在变量周围使用引号

但是现在我在运行以下脚本时遇到了不同的错误:

#!/bin/sh

set PINGDELAY=1.5
set PINGIP=google.nl
set PINGLOG=~/Library/Logs/doctorping.log

sudo ping -i "$PINGDELAY" "$PINGIP" | perl -nle 'use Time::Piece; BEGIN {$|++} print localtime->datetime, " ", $_' >> "$PINGLOG"

错误是

ping: invalid timing interval: `'

这可能是我忽略的一点,但在脚本和编程方面我是一个真正的菜鸟。

我的目标不是处理文本或提取其中的一些内容,它只是监视连接并将结果写入日志。限制日志行的数量可能是明智的,但我稍后会谈到这一点。 (当然,如果有人能指出我正确的方向,我将不胜感激,但首先是第一件事)

谢谢!

最佳答案

set 命令不是设置 shell 变量;它用于设置 shell 执行选项和/或替换脚本的参数列表。把它关掉。此外,最好使用小写(或混合大小写)变量名,以避免意外使用对 shell 具有特殊意义的变量之一。这是我得到的:

#!/bin/sh

pingdelay=1.5
pingIP=google.nl
pinglog=~/Library/Logs/doctorping.log

sudo ping -i "$pingdelay" "$pingIP" | perl -nle 'use Time::Piece; BEGIN {$|++} print localtime->datetime, " ", $_' >> "$pinglog"

关于bash - Ping 结果到日志脚本 (El Capitan),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37932014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com