shell 从文件获取数据并赋值给变量

需求:从某文件中读取ip地址以及端口号,用iptables打开该ip以及端口

比如文件内容:

[[email protected] huwei]# cat ip.txt
192.168.66.20 22
192.168.66.30 10050
192.168.66.30 33

手动操作为:

[[email protected] huwei]# iptables -A INPUT -s 192.168.66.20  -i eth0 -p tcp --dport 22 -j ACCEPT

改写使用脚本读取文件内容,自动添加iptables防火墙规则,脚本为:

[[email protected] huwei]# cat ip.sh
#!/bin/sh
wan0=‘eth0‘
FILE=‘/home/huwei/ip.txt‘
while read i
do
a=$(echo "$i"|awk -F ‘ ‘ ‘{print $1}‘)
b=$(echo "$i"|awk -F ‘ ‘ ‘{print $2}‘)
#此处显示变量的值,其实可以省略
echo "$a"
echo "$b"
iptables -A INPUT -s $a  -i $wan0 -p tcp --dport $b -j ACCEPT
/etc/init.d/iptables save
done<$FILE

土办法,我觉得应该还有更好的办法可以实现这样的功能

时间: 2024-10-14 06:54:43

shell 从文件获取数据并赋值给变量的相关文章

Linux shell MMPF0100 i2c 获取数据

#!/system/bin/busybox ash # # Linux shell MMPF0100 i2c 获取数据 # 说明: # 本文主要记录通过shell脚本来获取MMPF0100的数据,更多的是为了更为 # 方便的获取到数据,在进行一些调试的时候能够更有效. # # 2016-4-1 深圳 南山平山村 曾剑锋 # # 检查参数个数 if [ $# -lt 3 ]; then echo "USAGE:" echo " i2cData.sh <curPage>

在java项目中怎样利用Dom4j解析XML文件获取数据

在曾经的学习.net时常常会遇到利用配置文件来解决项目中一些须要常常变换的数据.比方数据库的连接字符串儿等.这个时候在读取配置文件的时候.我们一般会用到一个雷configuration,通过这个类来进行直接读取,能够说这是程序中直接封装好的,包含配置文件里书写的格式等等.那么,假设.想要在配置文件里写一些其它的数据,直接以XML文件的格式进行书写.这个时候在后台怎样读取XML文件里的数据呢?这里利用Dom4j来解析XML文件里连接oracle数据库的xml数据. 在使用之前,首先要在自己的项目中

在java项目中如何利用Dom4j解析XML文件获取数据

在以前的学习.net时经常会遇到利用配置文件来解决项目中一些需要经常变换的数据,比如数据库的连接字符串儿等.这个时候在读取配置文件的时候,我们通常会用到一个雷configuration,通过这个类来进行直接读取,可以说这是程序中直接封装好的,包括配置文件中书写的格式等等.那么,如果,想要在配置文件中写一些其他的数据,直接以XML文件的格式进行书写,这个时候在后台如何读取XML文件中的数据呢?这里利用Dom4j来解析XML文件中连接oracle数据库的xml数据. 在使用之前,首先要在自己的项目中

数据驱动示例 从txt文件获取数据

#encoding=utf-8 from selenium import webdriver import time import traceback #获取测试数据 with open("data.txt") as file_obj: datas = file_obj.readlines() result = [] #遍历测试数据 for data in datas: try: driver = webdriver.Chrome(executable_path = "e:\

从SQLite获取数据完成一个产品信息展示

在ios实际开发当中,我们常常用到Core Data做为数据储存首选.但在处理一些大量复杂的数据值且数据之间相互关联的时候,这就不得不使用关系型数据库来实现.例如一个导航程序,自身应该包含大量的地图自身数据并且数据需要在app启动的时候就开始读取加载.而且数据本身变动不是特别频繁.重复向服务器发送请求获取信息是一件十分浪费的事情.因此我们可以用一个本地数据文件来直接配置.做为轻量级关系型数据库的sqlite是ios开发首选.而xcode本身包含了sqlite库,因此在ios使用的时候不需要额外配

ajax请求获取的数据无法赋值给全局变量问题总结

一.总结: 1.问题描述: 今天做项目遇到在用表单显示详细信息的过程中ajax请求获取的数据无法赋值给全局变量的情况,从列表页面进入详情页,在详情页面被渲染了之后就会调用js文件里的接口向服务器请求数据,除了详情页面被加载之后需要向服务器发送ajax请求,在详情页面还有几个表单控件的属性需要去请求服务器获取实际项目中要求要显示的数据. 如下代码,直接在ajax请求中改变表单控件的值,避开了给全局变量赋值. 给全局变量赋值的解决办法,给ajax请求设置async为false,表示请求为同步请求:

页面单击按钮弹出modaldialog然后调用ajax处理程序获取数据,给父级页面控件赋值

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RefTopicList.aspx.cs" Inherits="Project.RefTopicList" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.

IT项目中使用 json格式数据 保存项目配置信息, 在配置文件再读取json文件的内容进行赋值

json格式小巧玲珑,适合做配置文件,特别是大型项目中, 可以将配置信息分类保存到不同的json文件中, 然后再在配置文件中读取配置文件的数据进行赋值, 这里以python为例进行说明: 假设在yourfile.json文件中保存了如下信息: { "user_message":{ "name":"lowman", "age":"14", }, "database":{ "USE

Ajax获取 Json文件提取数据

摘自 Ajax获取 Json文件提取数据 1. json文件内容(item.json) [ { "name":"张国立", "sex":"男", "email":"[email protected]", "url":"./img/1.jpg" }, { "name":"张铁林", "sex"