Linux平台从文件中查找字符赋值于变量
以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平台从文件中查找字符赋值于变量的更多相关文章
- grep在指定类型的文件中查找字符 (转载)
转自:http://blog.csdn.net/qvbfndcwy/article/details/8127329 find -name '*.php'|xargs grep 'include'//在 ...
- linux在所有文件中查找某一个字符
# find <directory> -type f -name "*.c" | xargs grep "<strings>" < ...
- linux 多个文件中查找字符串 hadoop 3 安装 调试
http://www.cnblogs.com/iLoveMyD/p/4281534.html 2015年2月9日 14:36:38 # find <directory> -type f - ...
- linux 多个文件中查找字符串
2015年2月9日 14:36:38 # find <directory> -type f -name "*.c" | xargs grep "<str ...
- Linux 在文件夹的所有文件中查找某字符
命令: grep -r -e string directory eg: 在 /home 目录下的所有文件中查找包含 test 字符串的文件. grep -r -e "test" / ...
- Linux 在文档中查找满足条件的行并输出到文件:
Linux 在文档中查找满足条件的行并输出到文件: 文件名称: dlog.log 输出文件: out.log 1.满足一个条件(包含 “TJ” )的语句: grep “TJ” dlog. ...
- 在文件夹下所有文件中查找字符串(linux/windows)
在linux下可以用 grep "String" filename.txt#字符串 文件名grep -r "String" /home/#递归查找目录下所有文件 ...
- Linux - Shell - 在多个文件中查找关键字
1. 概述 在多个文件中 查找内容 2. 想干啥 目的 在 多个文件 中, 查找内容 准备 之前在 单个文件里 查找过内容 工具 awk 前提 文件有固定格式 查找时有字段的要求 例子 # print ...
- Java查找指定文件中指定字符的个数
package lwl.youweb2.test; import java.io.BufferedReader; import java.io.FileReader; import java.io.I ...
随机推荐
- win8,win10安装mysql
以管理员身份进到命令窗口后,找到要安装的文件,执行msiexec /package mysql-installer-community-5.7.16.0.msi 回车即可
- maven打包配置
maven打包配置,到底要打包哪些文件,如何配置?? <build> <finalName>weatherAdminSys</finalName> <plug ...
- Realsense Camera SDK 开发手记(一)
0x01 第一次使用SDK写代码,有很多不懂的地方,在设备来之前把文档看了一下,大概明白了点,东平西凑大概写了点,但是当把设备连接上去进行测试的时候就出现了各种问题,用RealSenseCamera进 ...
- jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. [WebMethod] public static string SayHe ...
- ZeroMQ中PUB-SUB模式测试
因为公司有需求,对程序模块之间通信效率有较高的需求.之前公司用的通信组件是ActiveMQ,根据网上公布的测试结果显示其效率比较低, 后来考虑准备在新的项目中开始使用ZeroMQ.看了几天发现用起来比 ...
- IP地址接口小结
1 百度http://api.map.baidu.com/location/ip?ak=F454f8a5efe5e577997931cc01de3974&ip=58.67.143.169 {& ...
- html5权威指南:用元数据元素说明文档
用元数据元素说明文档: html meta标签使用总结:http://www.cnblogs.com/lovesong/p/5745893.html html中meta标签使用介绍:http://ww ...
- vim 替换
摘自: vim替换命令 替換(substitute) :[range]s/pattern/string/[c,e,g,i] range 指的是範圍,1,7 指從第一行至第七行,1,$ 指從第一行至最後 ...
- 可靠通信的保障 —— 使用ACK机制发送自定义信息——ESFramework 通信框架4.0 快速上手(12)
使用ESPlus.Application.CustomizeInfo.Passive.ICustomizeInfoOutter接口的Send方法,我们已经可以给服务端或其它在线客户端发送自定义信息了, ...
- LeetCode OJ 119. Pascal's Triangle II
Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return [1,3, ...