击IP IF THEN ELSE语句 [英] Bash IP IF THEN ELSE Statement

查看:157
本文介绍了击IP IF THEN ELSE语句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要运行几台机器一个脚本,但每台机器需要将要执行的命令的独特

我认为,一个bash脚本将能够做到这一点,但我不是在这个部门太精明。

在code我需要将类似于以下code(或将它)。我知道,这是远远不够完善或功能,但它确实存在只是为了帮助前preSS我所期待的。

可能有人请帮我这个脚本?

 #/斌/庆典
IP = ifconfig eth0命令| grep的INET | grep的-v INET6 |切-c 7-17如果[$ IP -eq 192.168.32.1]
随后的mkdir IPFolder-1
更多code ...
其他
如果[$ IP -eq 192.168.32.2]
随后的mkdir IPFolder-2
更多code ...
其他
如果[$ IP -eq 192.168.32.5]
随后的mkdir IPFolder-5
更多code ...


解决方案

使用双括号,空格是很重要的:

  IP = $(ifconfig eth0命令| grep的INET | grep的-v INET6 |切-c 21-34)
如果[[$ IP = 192.168.32.1]];然后
  MKDIR IPFolder-1
ELIF [$ IP = 192.168.32.2]];然后
  MKDIR IPFolder-2
科幻

请注意:在Ubuntu 11.10,我只好用切割-c 21-34,适应必要

I need to run one script from several machines but each machine requires unique commands to be executed.

I thought that a bash script would be able to do this but I'm not too savvy in this department.

The code I require would look similar to the below code (or would it). I know that it's far from perfect or functional but it's really there just to help to express what I am looking for.

Could somebody please help me with this script?

#/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...

解决方案

use double brackets, spaces are important:

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

Note: on Ubuntu 11.10, I had to use cut -c 21-34, adapt as necessary.

这篇关于击IP IF THEN ELSE语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆