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/bashexport wanIP=$(grep -n "wanIP" ./wanIP.txt) //grep命令从文件中查找以字符串"wanIP"开头的行 //"./"是当前路径。 //得到的信息为:1:wanIP=88.0.100.253。echo $wanIP //此时变量wanIP的值为:1:wanIP=88.0.100.253export 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/libexport 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 ...
随机推荐
- JAVA读取本地配置文件实例
import java.io.InputStream; import java.util.Properties; public class FileProperties extends Propert ...
- C#拾遗(一、基本类型)
1. C#是一种块结构语言,用花括号{}分块,但是用#region和#endregion来定义可以展开和折叠的代码区域 #region 这是引用区 using System; ...... #endr ...
- MySQL字段联合去重sql
MySQL字段联合去重sql 例如数据 id,name1,name2 1 a x 2 a y 3 b x 4 a y 5 a x 联合去重name1,name2的结果为 id,name1,name2 ...
- Hibernate配置详细解释
hibernate.cfg.xml <!--标准的XML文件的起始行,version='1.0'表明XML的版本,encoding='gb2312'表明XML文件的编码方式--> < ...
- autoconfig操作小结
1.添加maven配置在pom文件中 <profile> <id>prod</id> <properties> < ...
- String中的==与Empty
1.String中的==与Equals方法执行结果一样吗? 我们都知道对于引用类型"=="比较的是引用而不是具体的值,但c#中有一种神奇的叫做操作符重载的东西.官方对String类 ...
- android源码查看所有分支切换分支
cd .repo/manifests git branch -a repo init -b android-4.1.2_r1 repo sync
- 3.linux常用软件的安装方法
linux 上的软件不像windows上直接运行安装那么容易,在linux上有很多不同的安装包,大概常见的就有deb.tar.gz.tar.bz(tar.bz2).rpm等类型文件 1.deb文件安装 ...
- 成都IT公司面经及公司评价
从2015年年底到2016年初找了几个月工作,面了大大小小若干公司,有很不错的公司,也有很多坑公司,与君共勉. 1.科大讯飞 地址:成都分公司位于天府软件园E区,占一层楼.面积挺大.公司装修风格很舒服 ...
- Effective JavaScript :第六章
1.将undefined看成没有值 产生undefined的情况: ①未赋值的变量的初始值为undefined. var x ; X ; //undefined ②访问对象中不存在的属性也会产生und ...