BASH 使用变量检查活动连接

原始字符串

所以我有这个脚本 (nettest.sh) 和以下代码:

#!/bin/bash

# Internet Check

linktest="$(ping -c 1 google.com)"
if [[ $linktest != *"not"* ]]; then
  echo -e " PASSED "
  echo -e " $linktest "
else
  echo -e " FAILED "
  echo -e " $linktest "
fi

ping不通的结果如下:

ping: google.com: Name or service not known

但这是行不通的。当我有链接时,它会显示正确的消息。但是当链接断开时,它会一直显示 PASSED 消息并显示失败的 ping 消息。

有任何想法吗 ?(使用 Debian/Kali)

亚诺斯

您的尝试不起作用的原因是因为在失败时ping写入,stderr它没有被 捕获$(...),因此linktest是空的。

stderr如果将行更改为以下内容,则可以捕获它

linktest=$(ping -c 1 google.com 2>&1)

但实际上,与其解析输出,不如ping直接使用 的退出代码,例如:

if ping -c 1 google.com; then
  echo " PASSED "
else
  echo " FAILED "
fi

您可能还想完全抑制所有输出ping

if ping -c 1 google.com &>/dev/null; then

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

BASH变量检查器功能

来自分类Dev

bash:连接多个变量的内容

来自分类Dev

使用函数检查bash环境变量是否存在

来自分类Dev

连接文件时在 bash 脚本中使用增量变量

来自分类Dev

bash使用变量查找

来自分类Dev

使用变量的Bash命令

来自分类Dev

在bash的perl命令中使用bash变量

来自分类Dev

在bash中取消设置变量检查

来自分类Dev

根据多个值检查bash变量

来自分类Dev

检查bash中是否设置了未知变量

来自分类Dev

Bash-检查环境变量

来自分类Dev

检查 bash 脚本中是否存在变量

来自分类Dev

从bash中的连接变量定义数组

来自分类Dev

在bash中连接包含多行的变量

来自分类Dev

在Makefile中使用bash变量

来自分类Dev

Bash:在变量中使用别名

来自分类Dev

BASH:使用awk解析变量

来自分类Dev

在循环bash中使用变量

来自分类Dev

Bash:在变量中使用别名

来自分类Dev

使用Bash脚本递增变量

来自分类Dev

在bash中使用常量(变量)

来自分类Dev

Bash脚本:如何在目录中检查活动的sshfs挂载?

来自分类Dev

<bash>获取所有活动nginx连接的PID并杀死单个

来自分类Dev

如何使用Bash遍历数组以检查列表环境变量?

来自分类Dev

使用if [[]](bash)

来自分类Dev

bash:检查变量的值是否为现有变量的名称

来自分类Dev

bash:检查变量的值是否为现有变量的名称

来自分类Dev

bash 变量中的变量

来自分类Dev

Bash:检查ssh密钥连接是否设置正确