当前位置:首页 » 操作系统 » linux中的变量

linux中的变量

发布时间: 2022-06-01 23:10:06

linux下各种变量的理解

在技术上,变量可分成两类:环境变量与shell变量。

1。环境变量可视为全局变量,与具体shell无关,是系统中固定存在的变量(值不一定都一样)。env命令可查看所有的环境变量,export命令可修改已经存在的环境变量,也可以将一个shell变量导出为环境变量,但是export的效力仅限于此次该登陆操作,也就是说下次登录就失效了。
另外,环境变量和内部变量应该是一回事。

2。shell变量可视为局部变量,只对当前shell有效,子进程不会继承它们。

用户变量,我的理解是用户自定义的变量,当然属于shell变量。举例,命令行输入:
$ a=123
$ echo $a
123
第一行产生一个用户变量a,并赋值为123,第二行显示变量a的值,第三行是执行结果。

本地变量,我的理解就是当前shell的所有变量,包括环境变量和shell变量(包括shell本身提供的变量和用户变量)。set命令可查看所有的本地变量。

参数变量应该就是位置变量,这个很容易理解,给个例子就明白了。新建一脚本test,内容如下:
#!/bin/bash
echo "$1"
然后执行此脚本(之前要修改test的权限为可执行):
$ ./test helloworld
helloworld
第一行的helloworld给出了脚本中$1的值,第二行的helloworld是执行结果。

在向脚本传递参数时,可以用此位置变量来获取参数。
他们分别是:
$0:脚本名字。此变量包含地址,可以使用basename $0获得脚本名称。
$1:第一个参数。
$2,$3,$4,$5,...依次类推。

② linux 怎么 赋值变量

如图,后面的为$2 $3...以此类推

③ linux中位置变量的作用是什么

位置变量:用于处理命令行传递给shell脚本的参数,比如test.sh脚本,用命令“sh
test.sh
1
2
3”执行该脚本,则位置变量$1指代1,$2指代2,$3指代4,$0指代脚本名称test.sh。

④ Linux中的变量

据我所知不是环境变量,至少在Gentoo和Fedora下面的默认环境变量里面没有.
当然也可能是楼主使用的发行版下面特有的默认环境变量.
不过无论是否是默认的,在linux中,变量是一样的.
shell中的变量可以自己定义的,只要在/etc/profile或者当前用户的bash配置文件
里面定义,然后export该变量,那么这个变量就变成全局的环境变量了.

⑤ linux下的变量到底是什么啊

变量是为了更快、更准确的应用shell访问或执行
变量
变量名称规则 只能使用字母,数字,与下划线.以字母或下划线开头
系统变量
set 和 env区别
set:显示所有变量
env:环境变量
变量赋值
VARNAME=VALUE
echo $VARNAME
删除变量 unset VARNAME

常用变量
PATH
PWD
LANG
HOME
HISTSIZE
PS1
全局变量与私有变量
# my_name=seker
# export your_name=zorro
# echo $my_name
seker
# echo $your_name
zorro
# bash
# echo $my_name

# echo $your_name
zorro
# export her_name=angel
# exit
exit
# echo $her_name

#
全局变量可以被子进程继承,子进程的全局变量随着子进程结束而消失

⑥ LINUX变量的定义

临时存放数据用的
1.本地变量
本地变量就如同局部变量一样,只在本SHELL中起作用。它不会影响到其他SHELL中的变量
2.环境变量
环境变量用于所有的用户进程。在Linux中,登陆进程称为父进程,shell中执行的用户程序均称为子进程。
3.位置参数变量在向脚本传递参数时,可以使用此位置变量来获取参数。
4.特定变量参数
一些脚本运行的相关控制信息

⑦ linux 变量

据我所知不是环境变量,至少在Gentoo和Fedora下面的默认环境变量里面没有.
当然也可能是楼主使用的发行版下面特有的默认环境变量.
不过无论是否是默认的,在linux中,变量是一样的.
shell中的变量可以自己定义的,只要在/etc/profile或者当前用户的bash配置文件
里面定义,然后export该变量,那么这个变量就变成全局的环境变量了.
是否可以解决您的问题?

⑧ linux环境变量怎么配置

linux环境变量配置相关命令及例程:

1. 显示环境变量HOME
$ echo $HOME
/home/redbooks
2. 设置一个新的环境变量hello
$ export HELLO="Hello!"
$ echo $HELLO
Hello!
3. 使用env命令显示所有的环境变量
$ env
HOSTNAME=redbooks.safe.org
PVM_RSH=/usr/bin/rsh
Shell=/bin/bash
TERM=xterm
HISTSIZE=1000
...
4. 使用set命令显示所有本地定义的Shell变量
$ set
BASH=/bin/bash
BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")
BASH_VERSION='2.05b.0(1)-release'
COLORS=/etc/DIR_COLORS.xterm
COLUMNS=80
DIRSTACK=()
DISPLAY=:0.0
...
5. 使用unset命令来清除环境变量
set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:
$ export TEST="Test..." #增加一个环境变量TEST
$ env|grep TEST #此命令有输入,证明环境变量TEST已经存在了
TEST=Test...
$ unset $TEST #删除环境变量TEST
$ env|grep TEST #此命令没有输出,证明环境变量TEST已经存在了
6. 使用readonly命令设置只读变量
如果使用了readonly命令的话,变量就不可以被修改或清除了。示例如下:
$ export TEST="Test..." #增加一个环境变量TEST
$ readonly TEST #将环境变量TEST设为只读
$ unset TEST #会发现此变量不能被删除
-bash: unset: TEST: cannot unset: readonly variable
$ TEST="New" #会发现此也变量不能被修改
-bash: TEST: readonly variable
环境变量的设置位于/etc/profile文件
如果需要增加新的环境变量可以添加下属行
export path=$path:/path1:/path2:/pahtN

1.Linux的变量种类
按变量的生存周期来划分,Linux变量可分为两类:
永久的:需要修改配置文件,变量永久生效。
临时的:使用export命令声明即可,变量在关闭shell时失效。
2.设置变量的三种方法
在/etc/profile文件中添加变量【对所有用户生效(永久的)】
用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
例如:编辑/etc/profile文件,添加CLASSPATH变量
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。
在用户目录下的.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不然只能在下次重进此用户时生效。
直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】
在shell的命令行下直接使用[export 变量名=变量值] 定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
环境变量的查看
使用echo命令查看单个环境变量。例如:
echo $PATH
使用env查看所有环境变量。例如:
env
使用set查看所有本地定义的环境变量。
unset可以删除指定的环境变量。
常用的环境变量
PATH 决定了shell将到哪些目录中寻找命令或程序
HOME 当前用户主目录
HISTSIZE历史记录数
LOGNAME 当前用户的登录名
HOSTNAME指主机的名称
SHELL 当前用户Shell类型
LANGUGE 语言相关的环境变量,多语言可以修改此环境变量
MAIL当前用户的邮件存放目录
PS1基本提示符,对于root用户是#,对于普通用户是$

⑨ linux下变量是什么啊谁能给一个定义。

变量就是一个会变得量。。。
通俗点说就是,不同时间一个设置的值是可以更改的

比如
DIR=/ROOT
DIR=/TMP
DIR就是一个变量
他可以更改他的值

⑩ LINUX变量的定义

相当于你写个autorun脚本,自操作。 变量的作用? 这个是由你定义的相关的操作来决定的,单纯的说变量本身他是没有任何作用的。 就好比你给你一个物品起名字叫做木头,单对这个名字来说,只是两个字,没有任何作用。但是他可以做成家具等,这就是你的相关操作流程决定的。

热点内容
2019速腾买什么配置好 发布:2025-01-11 01:35:07 浏览:828
博越存储异常 发布:2025-01-11 01:24:31 浏览:917
我的世界还原中国服务器版图 发布:2025-01-11 01:18:45 浏览:383
pythonopenasfile 发布:2025-01-11 01:17:06 浏览:972
hbasejavaapi 发布:2025-01-11 01:11:09 浏览:746
我的世界pe版饥饿服务器 发布:2025-01-11 01:09:39 浏览:485
异构数据库数据同步 发布:2025-01-11 01:09:04 浏览:957
c语言三角波 发布:2025-01-11 01:02:11 浏览:78
php正则转义 发布:2025-01-11 01:00:03 浏览:691
手拉的箱包上的密码锁一般是多少 发布:2025-01-11 00:59:55 浏览:8