⑴ 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用户是#,对于普通用户是$
⑵ 如何在shell脚本中使用变量
在网络中 搜索 linux 系统中使用变量 关键词 ,有问题网络。 下面是我查的示例。
显示环境变量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变量可分为两类:
1.1 永久的:需要修改配置文件,变量永久生效。
1.2 临时的:使用export命令声明即可,变量在关闭shell时失效。
2.设置变量的三种方法
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.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不然只能在下次重进此用户时生效。
2.3 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】
在shell的命令行下直接使用[export 变量名=变量值] 定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
3.环境变量的查看
3.1 使用echo命令查看单个环境变量。例如:
echo $PATH
3.2 使用env查看所有环境变量。例如:
env
3.3 使用set查看所有本地定义的环境变量。
unset可以删除指定的环境变量。
4.常用的环境变量
PATH 决定了shell将到哪些目录中寻找命令或程序
HOME 当前用户主目录
HISTSIZE历史记录数
LOGNAME 当前用户的登录名
HOSTNAME指主机的名称
SHELL 当前用户Shell类型
LANGUGE 语言相关的环境变量,多语言可以修改此环境变量
MAIL当前用户的邮件存放目录
PS1基本提示符,对于root用户是#,对于普通用户是$
⑶ linux中shell脚本的变量为什么不能用数字
变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:
•首个字符必须为字母(a-z,A-Z)。
•中间不能有空格,可以使用下划线(_)。
•不能使用标点符号。
•不能使用bash里的关键字(可用help命令查看保留关键字)。
⑷ linux中的shell变量的种类及各种类的用处是什么
2.1.1 本地变量
定义:是在用户现在的shell生命期的脚本中使用;
例:[redhat@server redhat]$name="Red Hat Linux" #把变量设置为Red Hat Linux
[redhat@server redhat]$echo ${name} or #显示变量内容
=[redhat@server redhat]$echo $name #等同上面的语意
Red Hat Linux #显示其设定内容,
[redhat@server redhat]$set | grep "name" #查看刚才所设定的内容,或不加'grep "name"'查看用户自己所有的本地变量,
[redhat@server redhat]$readonly name #把name这个变量设置为只读变量,不允许再次设置,这可参考变量定义;-_-!
[redhat@server redhat]$name="He SenLin" #重新赋值
bash:name:readonly variable #只读文件系统
[redhat@server redhat]$readonly #查看系统存在的只读文件
附:重新登录一下系统,再次用
[redhat@server redhat]$echo ${name}
#本地变量就不存在了,
说明本地变量只能存活在用户shell的生命周期中,重登录就不在了,
2.1.2 环境变量
定义:环境变量用于所有用户进程<通称为子进程>,包括编辑器,脚本和应用,登录进程为父进程,shell中执行的用户进程均为子进程,不像本地变量只用于现在的shell.
存在目录在所有用户的主目录下<即/home>/.bash_profile或
如何设置环境变量?第一种方法就是编辑上面的二个文件,还可以用"export"进行设定或更改;这可不像本地变量只需 name="Red Hat Linux"那样简单,但却可以把本地变量更改为环境变量;只须在本地变量结束后,输入:export <变量名>;例,我们把name由本地变量修改为环境变量,我们可以这样做;
[root@server root]#name="Red Hat Linux" #本地变量
[root@server root]#export name #变量name由本地升为环境
当然也可以用下面这种方法;
[root@server root]#export name="Red Hat Linux" #直接定义name为环境变量;
定义后,可通过env进行查看,不知道上面的本地环境变量由哪个命令进行查看你记住了没有?,演示一下查看现在定义的环境变量;
[root@server root]#env | grep "name"
Red Hat Linux
同样不加后面grep "name",这个参数也是查看所有的环境变量;更同样的是我们也可以运行readonly这个参数给name以只读属性;
Tips:环境变量就是全部包含在本地变量中<因为它即可运行中父进程中也可运行于子进程中>,注意一点,本地变量不能运行在全部进程中,只有环境变量可以,再不懂就联想一下人与自然吧;-_-!还是不会?用绝招:
[root@server root]#you=myfriend #设置本地变量name为myfriend
[root@server root]#echo ${you} #查看一下是否成功
myfriend #成功
[root@server root]#sh #更换shell环境等同重登录,这相当一个
sh-2.05b#echo $you #用户子进程
#没显示,说明不存在,真的不存在?
sh-2.05b#exit #返回bash环境
[root@server root]#echo $you #再次查看;
myfriend #又出来了,怎么回事?
[root@server root]#export you #把变量you设为环境变量;
[root@server root]#sh #再试一次;
sh-2.05b#echo $you
myfriend #ok,you see?
再不懂,,你就把我杀了吧,,什么,你不知道我住在哪?汗-_-!
再补充一点,就是在sh进程中设置环境变量是可以写回bash环境中,因为bash是父进程,只有老的才有小的,小的怎么才能有老的哩?<长大了就有老的喽,哦,也对!..乱语>
2.1.3 变量替换
定义:用变量的值替换它的名字.
查看方式:echo <通用本地,环境...>
可以用echo显示可以单个变量的取值;
[root@server root]#str="this is example" #设置本地变量
[root@server root]#echo "can you see `echo $str`" #显示
cat you see this is example #替换就到这了,不明白明再来
变量替换续
除了上面的这个方式以外还有五种哦;别急,一个一个来;-_-!<先说好,偶不是皮条>
格式 定义
${variable name} 显示实际值到variable name 1
${variable name :+value} 如果设置了variable name,就把value显示,
未设置则为空; 2
${variable name:-value} 如果设置了variable name,就显示它,未设置就显示
value<仅显不存本地中>>; 3
${variable name:?value} 未设置提示用户错误信息value; 4
${variable name:=value} 如未设置就把value设置并显示<写入本地中>, 5
变量清除:
unset <变量name>
[root@server root]#echo $name #变量 name是否存在?
Red Hat Linux #存在
[root@server root]#unset name #清除name变量
[root@server root]#echo $name #是否成功
#成功
注意:如果用readonly限制了只读属性就会失败,还有怎么从环境变量中去掉那个变量呢?还记的用哪个设定环境变量的吗?对.export,只须在它后面加"-n"参数即可
2.1.4 位置变量
定义:位置变量表示$0,$1,$2,....$9
$0 $1 $2 $3 $4
脚本名 A B C D
向脚本中使用位置参数;
向系统命令传递参数;
例:./test<在程序中进行替换>
[root@server root]#vi /test #创建并编辑/test文件
#!/bin/bash
#test
echo "这是脚本的第一个名称: $0"
echo "这是脚本的第二个位置参数: $1"
echo "这是脚本的第三个位置参数: $2"
echo "这是脚本的第四个位置参数: $3"
echo "这是脚本的第五个位置参数: $4"
[root@server root]#chmod u+x ./test #加执行权限;
[root@server root]#./test A B C #加参数证验
echo "这是脚本的第一个名称: ./test
echo "这是脚本的第二个位置参数: A
echo "这是脚本的第三个位置参数: B
echo "这是脚本的第四个位置参数: C
echo "这是脚本的第五个位置参数:
<向系统命令中传递位置参数>
[root@server root]#vi test1.sh #新建一个脚本文件
#!/bin/bash
#name:test1.sh
#to call: test1.sh 755 #使用方式
find ~ -perm $1 -print
$2 #系统命令
[root@server root]#chmod u+c test1.sh
[root@server root]#./test1.sh 755 date #位置一为755,2位date
/dev/ip
/dev/iput
.
.
.
Fri May 13 2:31:54 CST 2006
2.1.5 标准变量:
bash默认建立一些环境变量就是标准变量,可以通俗的说就是不是你加的而是装好机子带的那些环境变量, 可在/etc/profile中进行定义,
命令 意义
HOME 用户主目录
IFS 默认分隔符
MAIL 邮箱地址
MAILCHECK 邮箱检查间隔
PWD 用户当前工作目录
LOGNAME 当前用户登录名
2.1.6 特殊变量
命令 意义
$# 传递到脚本的参数列表
$? 前个命令执行情况,0成功,其它值失败
$$ 脚本运行的当前进程号
$! 运行脚本最后一个命令
$* 显示脚本全部参数
2.1.7 影响变量的命令
declare 设置或显示变量
-f 只显示函数名
-r 创建只读变量
-x 创建转出变量
-i 创建整数变量
使用"+"代替"-",可以颠倒选项的意思,-r除外,
export 用于传递给子shell的变量
-- 表明选项结束,所有后续参数都是实参,
-f 表明在"名-值"对中的名字是函数名,
-n 把全局变量转换成局部变量,换句话就是不再传给shell
-p 显示全局变量列表,
shift
用于移动位置变量,调整位置变量,使$3的值赋给$2.$2的值赋予$1.
[root@server root]#vi /test
#!/bin/bash
#test
echo "这是脚本的第一个名称: $0"
echo "这是脚本的第二个位置参数: $1"
echo "这是脚本的第三个位置参数: $2"
echo "这是脚本的第四个位置参数: $3"
echo "这是脚本的第五个位置参数: $4"
shift
echo "这是脚本的第二个位置参数: $1"
echo "这是脚本的第三个位置参数: $2"
[root@server root]#chmod u+x ./test
[root@server root]#./test A B C
echo "这是脚本的第一个名称: ./test
echo "这是脚本的第二个位置参数: A
echo "这是脚本的第三个位置参数: B
echo "这是脚本的第四个位置参数: C
echo "这是脚本的第五个位置参数: $4"
shift #显示的时候并没有,加在此只会明了
echo "这是脚本的第二个位置参数: B
echo "这是脚本的第三个位置参数: C
给shfit加一个数试一下:
[root@server root]#vi ./test
#!/bin/bash
#test
echo "这是脚本的第一个名称: $0"
echo "这是脚本的第二个位置参数: $1"
echo "这是脚本的第三个位置参数: $2"
echo "这是脚本的第四个位置参数: $3"
echo "这是脚本的第五个位置参数: $4"
shift 2
echo "这是脚本的第二个位置参数: $1"
echo "这是脚本的第三个位置参数: $2"
[root@server root]#./test A B C D
echo "这是脚本的第一个名称: ./test
echo "这是脚本的第二个位置参数: A
echo "这是脚本的第三个位置参数: B
echo "这是脚本的第四个位置参数: C
echo "这是脚本的第五个位置参数: D
shift 2 #显示的时候并没有,加在此只会明了
echo "这是脚本的第二个位置参数: C
echo "这是脚本的第三个位置参数: D
第二节 引号
2.1 引号的必要性
2.2 双引号有什么作用
2.3 单引号的作用
2.4 反引号的作用
2.5 反斜杠的作用
⑸ linux用户在Shell中创建变量
你这几个问题归纳起来就3点:
1、申明一个环境变量,直接在命令行输入
MYVAR=abcde #声明一个变量MYVAR,值为abcde
2、export一个环境变量,光申明了不能用,必须export一下
export MYVAR
3、查看该变量
echo ${MYVAR}
⑹ 在Linux9.0中Shell提供变量来设置环境参数和保存shell信息。变量根据不同的作用可以分为哪四种变量设
1)、四种变量分别为:本地变量、环境变量、位置参数变量和预定义变量。
2)、变量=${参数变量:=woed}表示如果设置了参数变量,则用参数变量的值置换变量的值,否则把变量设置成word,然后再用word替换参数的值。如B=${C:=word}中,如果设置了C=good, word=bad时,则B=good; 如果C没有设置,word=bad,则B=bad,同时把B也设成bad。
3)、$# 表示传递到脚本的参数的数量
$! 表示后台运行的最后一个进程号
$0 表示当前执行的进程名
还有不会的请参考《linux就该这么学》,针对各种linux疑难杂症,帮助linux学习者。
⑺ LINUX中的SHELL变量是什么意思
1.建立和运行shell程序
什么是shell程序呢? 简单的说shell程序就是一个包含若干行
shell或者linux命令的文件.
象编写高级语言的程序一样,编写一个shell程序需要一个文本编辑器.如VI等.
在文本编辑环境下,依据shell的语法规则,输入一些shell/linux命令行,形成一个完整
的程序文件.
执行shell程序文件有三种方法
(1)#chmod +x file(在/etc/profile中,加入export PATH=${PATH}:~/yourpath,就可以在命令行下直接运行,像执行普通命令一样)
(2)#sh file
(3)# . file
(4)#source file
在编写shell时,第一行一定要指明系统需要那种shell解释你的shell程序,如:#! /bin/bash,
#! /bin/csh,/bin/tcsh,还是#! /bin/pdksh .
2.shell中的变量
(1)常用系统变量
$ # :保存程序命令行参数的数目
$ ? :保存前一个命令的返回码
$ 0 :保存程序名
$ * :以("$1 $2...")的形式保存所有输入的命令行参数
$ @ :以("$1""$2"...)的形式保存所有输入的命令行参数
(2)定义变量
shell语言是非类型的解释型语言,不象用C++/JAVA语言编程时需要事先声明变量.给一
个变量赋值,实际上就是定义了变量.
在linux支持的所有shell中,都可以用赋值符号(=)为变量赋值.
如:
abc=9 (bash/pdksh不能在等号两侧留下空格 )
set abc = 9 (tcsh/csh)
由于shell程序的变量是无类型的,所以用户可以使用同一个变量时而存放字符时而存放
整数.
如:
name=abc (bash/pdksh)
set name = abc (tcsh)
在变量赋值之后,只需在变量前面加一个$去引用.
如:
echo $abc
(3)位置变量
当运行一个支持多个命令行参数的shell程序时,这些变量的值将分别存放在位置变量里.
其中第一个参数存放在位置变量1,第二个参数存放在位置变量2,依次类推...,shell保留
这些变量,不允许用户以令外的方式定义他们.同别的变量,用$符号引用他们.
3.shell中引号的使用方法
shell使用引号(单引号/双引号)和反斜线("\")用于向shell解释器屏蔽一些特殊字符.
反引号(")对shell则有特殊意义.
如:
abc="how are you" (bash/pdksh)
set abc = "how are you" (tcsh)
这个命令行把三个单词组成的字符串how are you作为一个整体赋值给变量abc.
abc1='@LOGNAME,how are you!' (bash/pdksh)
set abc1='$LOGNAME,how are you!' (tcsh)
abc2="$LOGNAME,how are you!" (bash/pdksh)
set abc2="$LOGNAME,how are you!" (tcsh)
LOGNAME变量是保存当前用户名的shell变量,假设他的当前值是:wang.执行完两条命令后,
abc1的内容是:$LOGNAME, how are you!.而abc2的内容是;wang, how are you!.
象单引号一样,反斜线也能屏蔽所有特殊字符.但是他一次只能屏蔽一个字符.而不能屏蔽
一组字符.
反引号的功能不同于以上的三种符号.他不具有屏蔽特殊字符的功能.但是可以通过他将
一个命令的运行结果传递给另外一个命令.
如:
contents=`ls` (bash/pdksh)
set contents = `ls` (tcsh)
4.shell程序中的test命令
在bash/pdksh中,命令test用于计算一个条件表达式的值.他们经常在条件语句和循环
语句中被用来判断某些条件是否满足.
test命令的语法格式:
test expression
或者
[expression]
在test命令中,可以使用很多shell的内部操作符.这些操作符介绍如下:
(1)字符串操作符 用于计算字符串表达式
test命令 | 含义
-----------------------------------------
Str1 = str2 | 当str1与str2相同时,返回True
Str1! = str2| 当str1与str2不同时,返回True
Str | 当str不是空字符时,返回True
-n str | 当str的长度大于0时,返回True
-z str | 当str的长度是0时,返回True
-----------------------------------------
(2)整数操作符具有和字符操作符类似的功能.只是他们的操作是针对整数
test表达式 | 含义
---------------------------------------------
Int1 -eq int2|当int1等于int2时,返回True
Int1 -ge int2|当int1大于/等于int2时,返回True
Int1 -le int2|当int1小于/等于int2时,返回True
Int1 -gt int2|当int1大于int2时,返回True
Int1 -ne int2|当int1不等于int2时,返回True
-----------------------------------------
(3)用于文件操作的操作符,他们能检查:文件是否存在,文件类型等
test表达式 | 含义
------------------------------------------------
-d file |当file是一个目录时,返回 True
-f file |当file是一个普通文件时,返回 True
-r file |当file是一个刻读文件时,返回 True
-s file |当file文件长度大于0时,返回 True
-w file |当file是一个可写文件时,返回 True
-x file |当file是一个可执行文件时,返回 True
------------------------------------------------
(4)shell的逻辑操作符用于修饰/连接包含整数,字符串,文件操作符的表达式
test表达式 | 含义
----------------------------------------------------------
! expr |当expr的值是False时,返回True
Expr1 -a expr2|当expr1,expr2值同为True时,返回True
Expr1 -o expr2|当expr1,expr2的值至少有一个为True时,返回True
-----------------------------------------------------------
注意:
tcsh shell 不使用test命令,但是tcsh中的表达式同样能承担相同的功能.tcsh
支持的表达式于C中的表达式相同.通常使用在if和while命令中.
tcsh表达式 | 含义
-------------------------------------------------------
Int1 <= int2 |当int1小于/等于int2时,返回True
Int1 >= int2 |当int1大于/等于int2时,返回True
Int1 < int2 |当int1小于int2时,返回True
Int1 > int2 |当int1大于int2时,返回True
Str1 == str2 |当str1与str2相同时,返回True
Str1 != str2 |当str1与str2不同时,返回True
-r file |当file是一个可读文件时,返回True
-w file |当file是一个可写文件时,返回True
-x file |当file是一个可执行文件时,返回True
-e file |当file存在时,返回True
-o file |当file文件的所有者是当前用户时,返回True
-z file |当file长度为0时,返回True
-f file |当file是一个普通文件时,返回True
-d file |当file是一个目录时,返回True
Exp1 || exp2 |当exp1和exp2的值至少一个为True时,返回True
Exp1 && exp2 |当exp1和exp2的值同为True时,返回True
! exp |当exp的值为False时,返回True
⑻ 如何正确在Linux Shell脚本中定义一个时间变量
1、创建脚本 test.sh,并入截图内容。
⑼ 菜鸟求助linux shell 变量设置,看不懂.
BASH_N="$BASH_N`grep '/bin/bash' /etc/passwd | head -$i | tail -1 | cut -d: -f1`,"
BASH_N你就理解成一个字符串变量,每一次循环,在后面append上一个用户名
比如在etc/password里登记的用户,使用/bin/bash作为shell的用户有root , binzai , a1 , a2 , a5 , ay12 , user1这么几个人,则每次循环后BASH_N的变化如下:
啥也没有
root
root,binzai
root,binzai,a1
......
你后面的之所以每一行都有回车,是因为使用了echo,echo会自动加一个回车.
⑽ 如何设置linux shell环境变量
不是这个概念的。
1,如果你只是想设置一个变量,没有必要在profile里面设置。
a=123
echo
"$a"就可以了
2,如果你是想设置环境变量(路径),在profile或者.bashrc中
a=/dir
PATH=$PATH:$a
export
PATH
这就加入一个/dir目录。