linux命令行变量
❶ linux环境变量PATH设置
/etc/profile和/etc/bashrc都是系统级别的,修改后可以在所有用户中起作用; /.bash_profile、 /.bashrc和~/.bash_logout都是用户级别的,修改后只会作用于当前用户。
带profile的文件都是需要重新进入用户时才会生效,带bashrc的则是打开新的shell时生效;
执行顺序:/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout
$ echo $HOME
$ export HELLO="Hello"
$ env
¥ set
readonly TEST
之前介绍的使用 export 命令设置环境变量是在命令行中直接执行,这样设置的环境变量在退出shell时就会失效。要想设置永久有效的环境变量就需要修改之前提到的文件。
PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
你可以自己加上指定的路径,中间用冒号隔开
需要注意的是,最好不要把当前路径”./”放到PATH里,这样可能会受到意想不到的攻击。
特点:所有用户;永久有效;生效需要重新进入用户
root权限:
要想修改完文件后就立即生效,可以在命令行中执行:
# source /etc/profile
Source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录
❷ linux显示变量命令
env --- 显示/设置当前用户变量
用户变量存在于所有的shell中,与用什么shell无关,比如:HOME,SHELL等
export --- 设置当前终端有效的临时变量
显示/设置当前导出成用户变量的shell变量。《Linux就该这么学》 一起学习。
终端关闭的同时,export的变量也失效。
❸ linux命令行里面,命令前对变量赋值
bash的语法中可以在命令前设置子进程环境变量,它影响且只影响子进程的环境变量,而对父进程没有影响
你的例子中,如果环境变量LANG=zh_CN.gb2312
LANG=C yum grouplist
语句中LANG=C只对yum进程产生影响,运行完成后,用户环境变量LANG仍为原来的
❹ linux如何添加自定义变量
1.Linux的变量种类
按变量的生存周期来划分,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时就没有这个变量,需要使用的话还需要重新定义。
❺ linux的echo命令使用变量。
echo " \" `$a` \" " >a.txt
这样就可以了。
❻ linux shell脚本,怎样变量传递执行结果
可以使用ip=`ifconfig eth0`命令将 ifconfig eth0的结果赋值给ip,然后进行传递。
注意ifconfig eth0前后的符号不是单引号 ' ,而是反引号(也有叫飘号或尖叫号的,在数字1的左边,需在英文状态下输入)。
在linux命令行或者shell脚本里面输入以下命令:ip = `ifconfig eth0`,即可先把ifconfig eth0的值存在ip变量之内,然后再进行其他操作。例如将ifconfig eth0的结果输入到a.txt 文档种的命令为:
ip=`ifconfig eth0`
echo $ip >a.txt
(6)linux命令行变量扩展阅读
linux下反引号的作用:
linux里面反引号` `就是将反引号内的Linux命令先执行,然后将执行结果赋予变量。
例如: list=`ls -la`
是将Linux命令ls -la 赋予list,list的值就是该命令的执行结果。
❼ linux shell脚本,怎样变量传递执行结果
1、shell一般都是放在/bin或者/user/bin目录下,我们可以使用命令cat /etc/shells命令,查看当前linux系统可用的shell是什么。