Bash 脚本来 ping 远程机器挂起

Bash 脚本来 ping 远程机器挂起

我有一个名为 bash 函数的文件ping,它只有一个函数:

#!/usr/bin/env bash

ping() {
  ping -c 1 $i.local
}

该文件由另一个名为 bash 文件加载pinger,并尝试使用 ping 功能联系多个远程计算机

#!/usr/bin/env bash

. /home/ping #load ping function

REMOTES=('remote1' 'remote2' 'remote3')

for i in "${REMOTES[@]}"; do

    ping $i

done

当我运行时./pinger它会挂起,直到我CTRL-C.如果我手动输入ping -c 1 remote1.local命令行,我就能够成功 ping 远程计算机。剧本问题出在哪里?

编辑:我发现问题在于将函数命名为“ping”。当函数被命名为其他名称时,它似乎工作正常。

答案1

我发现问题在于将函数命名为“ping”。当函数被命名为其他名称时,它似乎工作正常。

#!/usr/bin/env bash

pingRemote() {
  ping -c 1 $i.local
}

#!/usr/bin/env bash

. /home/ping #load ping function

REMOTES=('remote1' 'remote2' 'remote3')

for i in "${REMOTES[@]}"; do

    pingRemote $i

done

相关内容