按变量的生存周期来划分,Linux变量可分为两类:
1. 永久的:需要修改配置文件,变量永久生效。
2. 临时的:使用export命令声明即可,变量在关闭shell时失效。
2.设置变量的三种方法
1. 在/etc/profile文件中添加变量【对所有用户生效(永久的)】
用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
例如:编辑/etc/profile文件,添加CLASSPATH变量
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。
2. 在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】
用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。
例如:编辑guok用户目录(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
添加如下内容:
export CLASSPATH=./JAVA_HOME/lib$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。
3. 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】
在shell的命令行下直接使用[export 变量名=变量值]
定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
用sed命令在行首或行尾添加字符的命令有以下几种:假设处理的文本为test.file
在每行的头添加字符,比如"HEAD",命令如下:
sed
's/^/HEAD&/g'
test.file
在每行的行尾添加字符,比如“TAIL”,命令如下:
sed
's/$/&TAIL/g'
test.file
运行结果如下图:
几点说明:
1."^"代表行首,"$"代表行尾
2.'s/$/&TAIL/g'中的字符g代表每行出现的字符全部替换,如果想在特定字符处添加,g就有用了,否则只会替换每行第一个,而不继续往后找了
例:
3.如果想导出文件,在命令末尾加">
outfile_name";如果想在原文件上更改,添加选项"-i",如
4.也可以把两条命令和在一起,在test.file的每一行的行头和行尾分别添加字符"HEAD"、“TAIL”,命令:sed
'/./{s/^/HEAD&/s/$/&TAIL/}'
test.file
1、在文件的首行插入指定内容:
:~$ sed -i "1i#! /bin/sh -" a
执行后,在a文件的第一行插入#! /bin/sh -
2、在文件的指定行(n)插入指定内容:
:~$ sed -i "niecho "haha"" a
执行后,在a文件的第n行插入echo "haha"
3、在文件的末尾行插入指定内容:
用第二种方法也可以。一般实现:
:~$ echo “haha” >>a
执行后,在a文件的末尾行插入haha
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)