当前位置:首页>综合>正文

linux下的set、export和env命令,在设置shell的变量时作用一样吗 如何设置linux shell环境变量

2023-07-03 01:48:18 互联网 未知 综合

 linux下的set、export和env命令,在设置shell的变量时作用一样吗 如何设置linux  shell环境变量

linux下的set、export和env命令,在设置shell的变量时作用一样吗?

env是显示变量
set和export是设置变量
set用于csh环境
export用于bash环境
格式:set DISPLAY 192.168.1.1:0
export DISPLAY=192.168.1.1:0

如何设置linux shell环境变量

不是这个概念的。
1,如果你只是想设置一个变量,没有必要在profile里面设置。
a=123
echo "$a"就可以了
2,如果你是想设置环境变量(路径),在profile或者.bashrc中
a=/dir
PATH=$PATH:$a
export PATH
这就加入一个/dir目录。

shell环境变量详解:shell如何设置环境变量

PATH:用于保存用冒号分隔的目录路径名,shell将按PATH变量中给出的顺序搜索这些目录,找到的第一个与命令名称一致的可执行文件将被执行。 TERM:终端的类型。 UID:当前用户的标识符,取值是由数字构成的字符串。 PWD:当前工作目录的绝对路径名,该变量的取值随cd命令的使用而变化。 PS1:主提示符,在特权用户下,缺省的主提示符是“#”,在普通用户下,缺省的主提示符是“$”。 PS2:在shell接收用户输入命令的过程中,如果用户在输入行的末尾输入“”然后回车,或者当用户按回车键时shell判断出用户输入的命令没有结束时,显示这个辅助提示符,提示用户继续输入命令的其余部分,缺省的辅助提示符是“>”。

linux用户在Shell中创建变量

你这几个问题归纳起来就3点:

1、申明一个环境变量,直接在命令行输入
MYVAR=abcde #声明一个变量MYVAR,值为abcde

2、export一个环境变量,光申明了不能用,必须export一下
export MYVAR

3、查看该变量
echo ${MYVAR}

Linux 如何设置环境变量

1.使用命令echo显示环境变量

本例使用echo显示常见的变量HOME

$ echo $HOME

/home/kevin

2.设置一个新的环境变量

$ export MYNAME=”my name is kevin”

$ echo $ MYNAME

my name is Kevin

3.修改已存在的环境变量

接上个示例

$ MYNAME=”change name to jack”

$ echo $MYNAME

change name to jack

4.使用env命令显示所有的环境变量

$ env

HOSTNAME=localhost.localdomain

SHELL=/bin/bash

TERM=xterm

HISTSIZE=1000

SSH_CLIENT=192.168.136.151 1740 22

QTDIR=/usr/lib/qt-3.1

SSH_TTY=/dev/pts/0

……

5.使用set命令显示所有本地定义的Shell变量

$ set

BASH=/bin/bash

BASH_ENV=/root/.bashrc

……

6.使用unset命令来清除环境变量

$ export TEMP_KEVIN=”kevin” #增加一个环境变量TEMP_KEVIN

$ env | grep TEMP_KEVIN #查看环境变量TEMP_KEVIN是否生效(存在即生效)

TEMP_KEVIN=kevin #证明环境变量TEMP_KEVIN已经存在

$ unset TEMP_KEVIN #删除环境变量TEMP_KEVIN

$ env | grep TEMP_KEVIN #查看环境变量TEMP_KEVIN是否被删除,没有输出显示,证明TEMP_KEVIN被清除了。

7.使用readonly命令设置只读变量

注:如果使用了readonly命令的话,变量就不可以被修改或清除了。

$ export TEMP_KEVIN ="kevin" #增加一个环境变量TEMP_KEVIN

$ readonly TEMP_KEVIN #将环境变量TEMP_KEVIN设为只读

$ env | grep TEMP_KEVIN #查看环境变量TEMP_KEVIN是否生效

TEMP_KEVIN=kevin #证明环境变量TEMP_KEVIN已经存在

$ unset TEMP_KEVIN #会提示此变量只读不能被删除

-bash: unset: TEMP_KEVIN: cannot unset: readonly variable

$ TEMP_KEVIN ="tom" #修改变量值为tom会提示此变量只读不能被修改

-bash: TEMP_KEVIN: readonly variable

8.通过修改环境变量定义文件来修改环境变量。

需要注意的是,一般情况下,仅修改普通用户环境变量配置文件,避免修改根用户的环境定义文件,因为那样可能会造成潜在的危险。

$ cd ~ #到用户根目录下

$ ls -a #查看所有文件,包含隐藏的文件

$ vi .bash_profile #修改用户环境变量文件

例如:

编辑你的PATH声明,其格式为:

PATH=$PATH::::------: 你可以自己加上指定的路径,中间用冒号隔开。 环境变量更改后,在用户下次登陆时生效。 如果想立刻生效,则可执行下面的语句:$source .bash_profile 需要注意的是,最好不要把当前路径”./”放到PATH里,这样可能会受到意想不到的攻击。 完成后,可以通过$ echo $PATH查看当前的搜索路径。这样定制后,就可以避免频繁的启动位于shell搜索的路径之外的程序了。