Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我似乎无法修改用于 Cisco 的 tclsh 脚本来测试我的 Mac OSX 上的基本 ping 可达性。
我把 ping 换成ping -c 2 $ip.
ping -c 2 $ip
任何人都可以帮助解决这个问题吗?
谢谢。
proc PI {} { foreach ip { 155.1.45.5 155.1.0.3 } { exec [ping $ip timeout 1 r 2 ] } }
对代码的基本修复是删除这些[括号];Tcl 中`的括号就像 Unix shell 中的一样。(但可嵌套。)
[
]
`
您希望ping由子流程运行,因此您想将名称 ping传递给exec,它运行子流程。
ping
exec
proc PI {} { foreach ip { 155.1.45.5 155.1.0.3 } { exec ping -c 2 -t 1 $ip } }
您可能还需要考虑如何处理 ping 的结果。现在,如果任何内容无法访问,您将收到错误消息。(还要注意 ping 的语法因系统而异;使用它不是很便携……)