Bash

Ping:名稱或服務未知

  • May 13, 2021

所以我正在創建這個 bash 腳本,但它給了我一個錯誤,名稱或服務未知。

在此處輸入圖像描述

程式碼是:

#!/bin/bash
if [ "$1" == "" ]
then
echo "Hello"
echo "Bye"
else
for x in 'seq 1 254' ;  do
ping -c 1 $1.$x
done
fi

您在 seq 語句中使用單引號而不是反引號。

for x in 'seq 1 254'

將產生 3 個項目:seq, 1, 254

for x in `seq 1 254`

將導致:1、2、3、4、5、6 等。

單引號用於文字,反引號用於命令替換。

您可能想要研究可以執行 ping 掃描的現有工具,而不是自己滾動。nmap例如使用它的 -sn 選項。https://linux.die.net/man/1/nmap

引用自:https://unix.stackexchange.com/questions/466872