以telnet方式登录Linux主机,在默认目录下用命令创建一个包含DUT wanIP的文本文件。
[root] echo wanIP=88.0.100.253 > ./wanIP.txt
在默认目录下创建包含以下内容的shell脚本。

1
2
3
4
5
6
7
8
9
#! /bin/bash
export wanIP=$(grep -n "wanIP" ./wanIP.txt) //grep命令从文件中查找以字符串"wanIP"开头的行
                                            //"./"是当前路径。
                                            //得到的信息为:1:wanIP=88.0.100.253。
echo $wanIP                                 //此时变量wanIP的值为:1:wanIP=88.0.100.253
export DUTWANIP={$wanIP##*=}                //从左往右截取wanIP中直到最后一个"="为止右边的字符串。
echo $DUTWANIP                              //此时变最DUTWANIP的值为88.0.100.253。
                                            //此变量可以用在其它命令中。
ping $DUTWANIP

在实际操作中,可能需要利用命令执行多条相同的命令。在命令后面加上"&",将命令调到后台运行。

结束的时候,用"killall im"结束程序即可。

Linux平台下,变量有两种:
   1. 永久型:需要修改配置文件,生成的变量永久生效。
   2. 临时型:使用"export"命令声明的变量,此类变量在关闭shell时失效。

在Linux平台下,有三种方法设置变量:
   1. 在"/etc/profile"文件中添加变量,此类变量对用户是永久生效的。
      用"VI"在文件"/etc/profile"文件中增加变量,该变量将会对Linux下所有用户永久生效。
      例如:添加变量"variable_name"

1
2
#vi /etc/profile variable_name=/JAVA_HOME/lib;$JAVA_HOME/jre/lib
export varialbe=/JAVA_HOME/lib;$JAVA_HOME/jre/lib

PS:修改文件后要想马上生效,还需要运行"#source /etc/profile",不然只能在下次重进此用户时生效。
   2. 在用户目录下的".bash_profile"文件中增加变量,此类用户只对实行操作的用户永久生效。
      例如:编辑phoenix用户目录(/home/phoenix)下的".bash_profile"

1
vi /home/phoenix/.bash_profile

PS:修改文件后要想立即生效,还需要运行"$sorce /home/phoenix/.bash_profile",不然要等到下次重进此用户时生效。
   3. 直接运行"export"命令定义变量,此类变量只对当前的shell有效,属于临时变量。shell关闭了,变量也就失效了。再打开新的shell, 需要使用的话还需要重新定义。
     PATH的声明,其格式为:
     PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:······:<PATH N>
     环境变量更改后,在用户下次登录时生效。为了立即生效,则执行:$source .bash_profile。

Linux平台从文件中查找字符赋值于变量的更多相关文章

  1. grep在指定类型的文件中查找字符 (转载)

    转自:http://blog.csdn.net/qvbfndcwy/article/details/8127329 find -name '*.php'|xargs grep 'include'//在 ...

  2. linux在所有文件中查找某一个字符

    # find <directory> -type f -name "*.c" | xargs grep "<strings>" < ...

  3. linux 多个文件中查找字符串 hadoop 3 安装 调试

    http://www.cnblogs.com/iLoveMyD/p/4281534.html 2015年2月9日 14:36:38 # find <directory> -type f - ...

  4. linux 多个文件中查找字符串

    2015年2月9日 14:36:38 # find <directory> -type f -name "*.c" | xargs grep "<str ...

  5. Linux 在文件夹的所有文件中查找某字符

    命令: grep -r -e string directory eg: 在 /home 目录下的所有文件中查找包含 test 字符串的文件. grep -r -e "test" / ...

  6. Linux 在文档中查找满足条件的行并输出到文件:

    Linux 在文档中查找满足条件的行并输出到文件: 文件名称: dlog.log    输出文件: out.log 1.满足一个条件(包含  “TJ”  )的语句: grep  “TJ”  dlog. ...

  7. 在文件夹下所有文件中查找字符串(linux/windows)

    在linux下可以用 grep "String" filename.txt#字符串 文件名grep -r "String" /home/#递归查找目录下所有文件 ...

  8. Linux - Shell - 在多个文件中查找关键字

    1. 概述 在多个文件中 查找内容 2. 想干啥 目的 在 多个文件 中, 查找内容 准备 之前在 单个文件里 查找过内容 工具 awk 前提 文件有固定格式 查找时有字段的要求 例子 # print ...

  9. Java查找指定文件中指定字符的个数

    package lwl.youweb2.test; import java.io.BufferedReader; import java.io.FileReader; import java.io.I ...

随机推荐

  1. mysql 创建用户与授权、修改密码

    mysql版本:5.6.35 1.创建用户 #foo表示你要建立的用户名,后面的123表示密码, #localhost限制在固定地址localhost登陆 CREATE USER foo@localh ...

  2. Sublime的Package Control的安装

    最近在用Sublime,我想很多人和我一样都是先要安装PackageControl吧! 可是看了网上的好多博客感觉都太繁琐了 对于像我这样的小白来说实在有很多看不懂的地方 相对来说还是官网的那种方法更 ...

  3. jquery正则常用的

    jQuery.validator.addMethod("mobilePhone",function(value,element){ return this.optional(ele ...

  4. mysql 分组按条件统计

    百度经验 COUNT(CASE WHEN (S.rank = 1) THEN S.loanContractId END ) AS 'MZ',  //根据loanContractId 分组,并统计ran ...

  5. Design Pattern——Factory_DP

    namespace TEST { //用于生成一个对应的操作类,这个工厂只是用来产生操作类的,不做其他只用 public class Factory { public Operate GetOpetr ...

  6. wxpython 安装教程

    wxpython在windows 上的安装,需要在wxpython官网上下载对应的版本:Python分为32和64位系统不是系统的32位和64位 所以可以先在IDE 下输入Python看下当前是32还 ...

  7. C# 泛型 Func<object, string, bool> filter

    Func<object, string, bool>是泛型,你可以先把他看成一个普通类型,比如stringpublic class Func{ } // 自定义个普通类. Func fil ...

  8. ACdream 1020 The Game about KILL

    找规律. 11 3 1 3 5 7 1 3 5 7 9 11 13 15 ....... #pragma comment(linker, "/STACK:1024000000,1024000 ...

  9. CSU 1639 队长,我想进集训队!

    水题 #include<cstdio> int main() { int x1, x2, x3, u, h; int n; while (~scanf("%d", &a ...

  10. ios根据文本自适应 然后 搭建类似如下效果

    UIView * headView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.tbSecond.size.width, 0)]; hea ...