当前位置: 技术问答>linux和unix
if中这句话啥意思
来源: 互联网 发布时间:2016-12-04
本文导语: if [ -f ./setenv.sh ];then . ./setenv.sh; | -f 当file存在并且是正规文件时返回真 if [ -f ./setenv.sh ]; 就是判断当前目录下是否存在setenv.sh文件 如果存在就执行 . ./setenv.sh 第一个.是bas...
if [ -f ./setenv.sh ];then
. ./setenv.sh;
. ./setenv.sh;
|
-f 当file存在并且是正规文件时返回真
if [ -f ./setenv.sh ];
就是判断当前目录下是否存在setenv.sh文件
如果存在就执行
. ./setenv.sh
第一个.是bash内建命令 相当于source命令
就是执行setenv.sh并设置setenv.sh中的环境变量在当前shell环境有效(他执行该脚本中的全部命令,而不关脚本文件的权限如何设置)
if [ -f ./setenv.sh ];
就是判断当前目录下是否存在setenv.sh文件
如果存在就执行
. ./setenv.sh
第一个.是bash内建命令 相当于source命令
就是执行setenv.sh并设置setenv.sh中的环境变量在当前shell环境有效(他执行该脚本中的全部命令,而不关脚本文件的权限如何设置)
|
如果"./setenv.sh"这个文件存在,就在当前shell执行它
|
注意test命令和[ ]中括号作用是一样的。。
test -n string : string 不为空
test -z string : string 为空
test int1 -eq int2 : int1 == int 2
test int1 -ne int2 : int1 != int2
test int1 -gt int2 : int1 > int2
test int1 -ge int2 : int1 >= int2
test int1 -lt int2 : int1
test -n string : string 不为空
test -z string : string 为空
test int1 -eq int2 : int1 == int 2
test int1 -ne int2 : int1 != int2
test int1 -gt int2 : int1 > int2
test int1 -ge int2 : int1 >= int2
test int1 -lt int2 : int1