Linux平台从文件中查找字符赋值于变量

来源:互联网 发布:自学c语言夏老师视频 编辑:程序博客网 时间:2024/05/21 06:44

以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。

0 0