簡體   English   中英

Bash IP IF THEN ELSE聲明

[英]Bash IP IF THEN ELSE Statement

我需要從多台計算機上運行一個腳本,但是每台計算機都需要執行唯一的命令。

我以為bash腳本可以做到這一點,但是我對該部門不太了解。

我需要的代碼看起來與下面的代碼相似(或者可能與之相似)。 我知道它離完美或功能還很遠,但實際上只是在幫助表達我想要的東西。

有人可以幫我這個腳本嗎?

#/bin/bash
IP= ifconfig eth0 | grep inet | grep -v inet6 | cut -c 7-17 

If [$IP -eq 192.168.32.1]
then mkdir IPFolder-1
more code...
else
if [$IP -eq 192.168.32.2]
then mkdir IPFolder-2
more code...
else
if [$IP -eq 192.168.32.5]
then mkdir IPFolder-5
more code...

使用雙括號,空格很重要:

IP=$(ifconfig eth0 | grep inet | grep -v inet6 | cut -c 21-34)
if [[ $IP = 192.168.32.1 ]]; then
  mkdir IPFolder-1
elif [[ $IP = 192.168.32.2 ]]; then
  mkdir IPFolder-2
fi

注意:在Ubuntu 11.10上,我必須使用cut -c 21-34,根據需要進行調整。

注意,如果ifconfig是本地化的,也許這就是為什么Sam必須將21-34而不是7-17削減的原因。

使用LANG= ifconfig在所有地方都使用英語。

看來ifconfig還有其他怪癖要知道。

(它應該是評論而不是答案,但我還不能發表評論。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM