繁体   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