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 ...
随机推荐
- 使用webview加载html图片、表单超屏幕问题
webView加载html代码时,使用webView自带的 scalesPageToFit 可以解决图片所带来的超过屏幕问题:但是,所带来的问题就是文字变小了,怎样让图片边小,并且文字还是原来html ...
- centos7下用yum安装mysql5.7
1.安装mysql源 下载地址:http://dev.mysql.com/downloads/repo/yum/ 下载之后用yum安装:yum localinstall -y xx.noarch.rp ...
- Android: Failure [INSTALL_FAILED_DEXOPT] and Failure [INSTALL_FAILED_UID_CHANGED] 解决方案
1. 错误: Failure [INSTALL_FAILED_DEXOPT] Android安装App时 D:\WorkSpace\Administrator\workspace\svn\soot ...
- libev实现分析
libev是一个事件驱动库,底层是基于select.epoll.kqueue等I/O复用接口.所谓事件驱动库,就是用户定义一个事件以及改事件发生时调用的函数,该库会监听该事件,并在事件发生时调用相应的 ...
- python操作----Memcached
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...
- java 中递归的实现 以及利用递归方法实现汉诺塔
今天说下java语言中比较常见的一种方法,递归方法. 递归的定义 简单来说递归的方法就是"自己调用自己",通过递归方法往往可以将一个大问题简单化,最终压缩到一个易于处理的程度.对于 ...
- [Rails] 从 Request 到 Response(1)
本文翻译自:Rails from Request to Response 系列:个人选择了自己感兴趣的部分进行翻译,需要阅读原文的同学请戳前面的链接. 第一部分 导言(Introduction) 服务 ...
- mysql中的unix_timestamp函数
偶然看到MySQL的一个函数 unix_timestamp(),不明就里,于是就试验了一番. unix_timestamp()函数的作用是返回一个确切的时间点的UNIX时间戳,这个Unix时间戳是一个 ...
- GOPS 2016全球运维大会 • 北京站概况
GOPS 2016全球运维大会上海站已圆满落幕,错过上海站的朋友或许会感到一些遗憾,但是不用担心,在12月16日,GOPS 2016全球运维大会 • 北京站将隆重召开,错过上海在的朋友可以赶上北京站哦 ...
- CSS3秘笈复习:第十一章
1.text-align与vertical-align: text-align控制水平方向的定位,关键字是left.right.center和justify. vertical-align控制垂直方向 ...