大神,bash怎样把变量和bash 字符串串连接一起阿

lovelace521 的BLOG
用户名:lovelace521
文章数:117
评论数:221
访问量:719366
注册日期:
阅读量:5863
阅读量:12276
阅读量:382050
阅读量:1073884
51CTO推荐博文
关于变量的内容一、变量命名:二、变量赋值:三、变量类型:四、变量取消:五、取得变量值:六、调整变量的属性七、数组八、变量扩展:九、命令扩展:一、变量名称:&&&&1、只能包含字母、数字和下划线,并且不能以数字开头,&&&&2、不应该跟系统中已有的环境变量重名&&&&3、最好能见名知意二、变量赋值:设置变量:变量名称=值var_name=value&等号两边不能有空格[root@lovelace 51cto]# youname=lovelace
[root@lovelace 51cto]# echo $youname
lovelace针对数字,你可以可以这样为变量赋值,定义一个变量的类型[root@lovelace 51cto]# declare -i sum=100
[root@lovelace 51cto]# echo $sum
100&三、bash:变量类型:&&&&环境变量:&&&&本地变量(局部变量):&&&&位置变量:&&&&特殊变量(系统变量):本地变量:作用域为整个bash进程&&&&varname=value局部变量:作用域只对当前代码段有效&&&&local&varname=value环境变量:作用域为当前shell进程及其子进程&&&&export&varname=value&&导出“任意脚本在执行时会启动一个子shell进程,&&&&&&&&命令行中启动的脚本会继承当前shell的环境变量&&&&&&&&系统自动执行的脚本(跟命令行无关)就需要自我定义需要的各环境变量位置变量:&&&&$1,$2,....特殊变量:保持某些特殊数据&&&&&&&&$?&上一个命令执行状态返回值&&&&&&&&$#&参数的个数&&&&&&&&$*&参数列表&&&&&&&&$@&参数列表&&&&&&&&$0&&命令本身&&脚本本身&&&&执行脚本时的脚本路径及名称程序执行一般有两类返回值&&&&&&程序执行结果;&&&&执行状态返回代码(0-255)&&&&&&&&&&&&0表示正确&&&&&&&&&&&&1-255:错误执行&1,2,127&系统预留&有特殊意义四、撤销变量:&&&&unset&varname[root@lovelace 51cto]#echo $youname查看当前shell中的变量&&&&&&&&set&&不带任何参数和选项[root@lovelace 51cto]# set
BASH=/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="3" [1]="2" [2]="25" [3]="1" [4]="release" [5]="i386-redhat-linux-gnu")
BASH_VERSION='3.2.25(1)-release'
COLORS=/etc/DIR_COLORS.xterm
COLUMNS=80
CVS_RSH=ssh
DIRSTACK=()
G_BROKEN_FILENAMES=1
HISTFILE=/root/.bash_history
HISTFILESIZE=5000
HISTSIZE=5000
HOME=/root
HOSTNAME=lovelace.localdomain
HOSTTYPE=i386
IFS=$' \t\n'
INPUTRC=/etc/inputrc
LANG=zh_CN.GB2312
LC_ALL=zh_CN.GB2312
LESSOPEN='|/usr/bin/lesspipe.sh %s'
LOGNAME=root
LS_COLORS='no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:'
MACHTYPE=i386-redhat-linux-gnu
MAIL=/var/spool/mail/root
MAILCHECK=60
OLDPWD=/home/scripts
OSTYPE=linux-gnu
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PIPESTATUS=([0]="0")
PPID=16933
PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
PS1='[\u@\h \W]\$ '
PWD=/home/scripts/51cto
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SSH_CLIENT='192.168.2.28 8577 22'
SSH_CONNECTION='192.168.2.28 .2.54 22'
SSH_TTY=/dev/pts/0
SUPPORTED=zh_CN.UTF-8:zh_CN.GBK:zh_CN.GB2312:zh_CN:zh:en_US.UTF-8:en_US:en
TERM=xterm
consoletype=pty
x=101如果查看当前shell中的环境变量&&&&&&&&env&&&&&&&&export&&&&&&&&printenv字符串变量添加新的变量&PATH添加新的路径export&PATH=$PATH:/usr/local/apsch/bin&五、取得变量值:&&&&$变量名称&&&&${变量名称}&&$(x)&这个可以用来当做命令调用&&&&&如果变量在语句当中被引用,必须要使用${x}才可以,取得数组的变量值时候也需要使用${}来调用[root@lovelace 51cto]# listnum=100
[root@lovelace 51cto]# echo $listnum
[root@lovelace 51cto]# echo ${listnum}
100关于变量和引号的关系:&&&&单引号:所见即所得&&&&双引号:使特殊符号生效[root@lovelace 51cto]# echo "There are $listnum pelple."
There are 100 pelple.
[root@lovelace 51cto]# echo 'There are $listnum pelple.'
There are $listnum pelple.六、调整变量的属性:1、readonly&命令&:定义只读变量&&&&&&&&-p:显示目前具有只读属性的变量列表&&&&&&&&-f:设定函数不可修改&&&&&&&&-a:定义数组不可修改2、declare&命令&&&&&&&&&-r:设定只读变量&&&&&&&&-p:显示变量的属性&&&&&&&&-a:变量是一个数组&&&&&&&&-f:搜寻命令时,只找函数&&&&&&&&-i:变量是一个整数&&&&&&&&-F:显示所有的函数式名称及其属性&&&&&&&&-t:设立变量具有trace属性&&&&&&&&-x:设定环境变量七、&数组:&&&&是一种数据结构,有相关的数据项组成,每个数据项,称为数组的元素,且可采用索引的方式取得个元素的值数组赋值:1、单个赋值,以index作为索引号,索引号从0开始&&&&a[0]=1&&&&a[2]=2&&&&a[3]=3#为数组赋值
[root@lovelace 51cto]# a[0]=1
[root@lovelace 51cto]# a[1]=2
[root@lovelace 51cto]# a[2]=3
#显示数组中所有值方法一
[root@lovelace 51cto]# echo ${a[*]}
#显示数组中所有值方法二
[root@lovelace 51cto]# echo ${a[@]}
#为数组添加数据项
[root@lovelace 51cto]# a[3]='nick'
[root@lovelace 51cto]# echo ${a[*]}
1 2 3 nick2、使用小括号为数组赋值&&&&a=(1&2&3)&默认空格隔开#为数组b赋值
记住是小括号,不是大括号
[root@lovelace 51cto]# b=(bbs www http ftp)
[root@lovelace 51cto]# echo ${b[*]}
bbs www http ftp
#打印出第一个和第三个数据项
[root@lovelace 51cto]# echo ${b[0]};echo '*******';echo ${b[2]}
http3、为数组中的某一个数据项赋值,默认是从0开始,如果中间出现未比标示的索引项,则从前一个索引项开始计算&&&&a={51&[3]=5&&cto&&[6]=8}#为数组赋值
[root@lovelace 51cto]# c=(51cto [3]='nick' 51 [5]='lovelace')
#打印出数组中所有值
[root@lovelace 51cto]# echo ${c[@]}
51cto nick 51 lovelace
#验证中间出现的数值是从哪个索引项开始算起的
[root@lovelace 51cto]# echo ${c[1]}
[root@lovelace 51cto]# echo ${c[0]}
[root@lovelace 51cto]# echo ${c[2]}
[root@lovelace 51cto]# echo ${c[4]}
51&显示赋值:&&&&echo&${a[1]}取出数组中所有的值:&&&&echo&${a[@]}&&或者echo&${a[*]}取得数组元素的个数:&&&&echo&${#a[@]}&或者&echo&${#a[*]}#打印出数组所有值,统计数组中数据项个数
[root@lovelace 51cto]# echo ${c[@]};echo ${#c[@]};echo ${#c[*]}
51cto nick 51 lovelace
4八、高级变量:${变量名称}&&变量扩展$(命令)&&&&&&命令替换$((算术式))&&算术扩展&$(命令)&命令替换:&测试变量存在与否:&&&&${myname:-'nick'}&判断条件,如果myname存在,就返回值,如果myname不存在,就把-后接的字符串当做整个变量扩展的结果,并传回测试变量不存在或为空,传回一个默认值&&&&${myname:-'nick'}&如果待测变量不存在或为空,传回-后的值,存在则传回变量的值测试变量不存在或为空,给变量设定一个默认值&&&&${count:=100}&若变量coutn没有值或为空,则把待测变量设定为默认值,测试变量不存在或为空,传回错误信息&&&&${myname:?&your&input&error&}测试变量的存在性:&&&&${myname:+Ture}&若变量存在且值非空,则符合判断&&&&:&&空&&&&&&&&&&&&&&测空置&&&&-&&&负向&&&&&&&&&&&&测不存在&&&&+&&&正向&&&&&&&&&&&&测存在&&&&?&&有问题&&&&&&&&&&&&检查是否完备后再来执行吧&&&&=&&&设值&&&&&&&&&&&&给控值变量设定一个默认值$(命令)&命令替换&&此命令等同于??&(esc下的按键,不是单引号)这个在编写脚本的时候很有用#打印出当前路径
[root@lovelace 51cto]# echo $(pwd)
/home/scripts/51cto
[root@lovelace 51cto]# echo `pwd`
/home/scripts/51cto$((算术式))算术扩展:这个我们在下章将会单独讲解,这里给出示例查看[root@lovelace 51cto]# a=3;b=5
[root@lovelace 51cto]# echo $((a+b))
8九、变量扩展“去字符串切片,字符串长度&字符串切片是从0开始的&在使用${}的时候&大括号内的变量引用前面的$可以不写&&&&&&&&${变量:位置起点}&&&${myname:3}&&&&&&&&${变量:位置起点:长度}#定义变量
[root@lovelace 51cto]# myname=lovelace
#取得变量字符串从第三个字符开始到字符串结尾的所有字符
[root@lovelace 51cto]# echo ${myname:3}
#取得变量字符串中从第四个字符开始,长度为2的字符
[root@lovelace 51cto]# echo ${myname:4:2}
la&&&&取部分参数:&&&&&&&&命令行参数是从$1开始的依次类推,$@代表所有参数,命令本身使用$0来表示&&&&&&&&${@:起点}:由点开始,取得后面的所有的位置参数&&&&&&&&${@:起点:个数}:由起点开始,取得指定个数的位置参数示例脚本#!/bin/bash
#Verson:0.1
#Auther:lovelace
#Pragram:test argument
#取得程序名
#取得变量的所有值
echo ${@:1}
#取得变量的个数
echo $#&执行结果:[root@lovelace 51cto]# ./argument.sh 12 32 45
./argument.sh
3&计算字符串长度:&&&&${#变量名称}:传回变量值的字符串长度&&&&expr:也可以统计字符串的长度&&&&&&&&1、str=&here&you&are.&&&&&&&&&&&&len$(expr&length&&$str&)&&&&&&&&&&&echo&&str&字符串长度是:$len&&&&&&&&&2、expr&&字符串“:‘。*’&&&&&&&&&&&&str=&here&you&are.&&&&&&&&&&&&&len=$(expr&&$str&:'.*')&&&&&&&&&&&&echo&&str字符串长度是:$len&[root@lovelace 51cto]# echo $myname
#使用${#变量名}取得字符串长度
[root@lovelace 51cto]# echo ${#myname}
#使用${expr length “$变量名”}取得字符串长度
[root@lovelace 51cto]# len=$(expr length "$myname")
[root@lovelace 51cto]# echo $len
#使用${expr “$变量名” : '.*'}取得字符串长度
[root@lovelace 51cto]# len=$(expr "$myname" : '.*')
[root@lovelace 51cto]# echo $len
8&变量扩展:对比样式&&&&由字符串前面对比,删除最短的&&&&&&&&&${变量#样式}&&&&由字符串前面对比,删除最长的&&&&&&&&&${变量##样式}#定义一个变量
[root@lovelace 51cto]# path=$(pwd)
#查看变量值
[root@lovelace 51cto]# echo $path
/home/scripts/51cto
#使用对比样式
[root@lovelace 51cto]# echo ${path#*/}
home/scripts/51cto
#此对比样式可以取得目录名
[root@lovelace 51cto]# echo ${path##/*/}
51cto&&&&由字符串后面对比,删除最短的&&&&&&&&&${变量%样式}&&&&由字符串后面对比,删除最长的&&&&&&&&&&${变量%%样式}#使用此对比样式可以取得路径名
[root@lovelace 51cto]# echo ${path%/*}
/home/scripts
#使用此对比样式没有任何数据输出
[root@lovelace 51cto]# echo ${path%%/*}&至于对比样式可以根据自己的思考来获得,这个没有固定的格式&取代或删除部分字符串:&&&&只替换第一个对比符合的字符串&&&&&&&&${变量/样式/替换字符串}&&&&替换所有符合的字符串&&&&&&&&${变量//样式/替换字符串}#定义一个变量
[root@lovelace 51cto]# echo $myname
#替换第一次出现的l为F
[root@lovelace 51cto]# echo ${myname/l/F}
#替换字符串中所有l为F
[root@lovelace 51cto]# echo ${myname//l/F}
FoveFace&删除对比符合的字符串&&&&只删一个&&&&&&&&${变量/样式/}&&&&删除全部&&&&&&&&${变量//样式/}&&&&#T&&行首位置&&&&%LE&&最后面&&&#定义一个变量获取IP地址相关的信息
[root@lovelace 51cto]# tmp=$(ifconfig eth0 | grep 'inet addr')
#删除对比样式成功的字符串 然后赋值给变量r
[root@lovelace 51cto]# r=${tmp/inet addr:/}
#删除对比样式成功的字符串 然后赋值给变量ip
[root@lovelace 51cto]# ip=${r/ Bcast*/}
#打印出变量ip 查看是不是我们想要的结果
[root@lovelace 51cto]# echo $ip
192.168.2.54变量扩展:取变量名称列表、数组索引列表取变量名称列表:&&&&&&&&${!开头字符串@}或${!开头字符串*}[root@lovelace 51cto]# myname=mytest=51cto
[root@lovelace 51cto]# echo ${!my@}
myname mytest
[root@lovelace 51cto]# echo ${!my*}
myname mytest取数组索引列表:&&&&&&&&${!数组变量[@]}或${!数组变量[*]}#取得数组a的所有值
[root@lovelace 51cto]# echo ${a[@]}
hello 2 3 nick
#取得数组a的索引项
[root@lovelace 51cto]# echo ${!a[@]}
0 1 2 3&后记:学习shell编程,变量这一块很重要,文章中列出的仅仅是变量内容的一部分,还有很多像系统内置变量,以及环境变量,局部变量之间的转化,我们这里没有提及到,所以需要我们多练习、多总结。就算你一下记不住这么多知识,熟能生巧总是可以的吧......本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
22:47:38 09:38:20 13:17:58 10:51:27 23:33:11你的位置: >
> Bash Shell编程初学基础篇之一
&Bash Shell编程初学基础篇之一
说明: 本文仅供初学Linux& Bash& shell学员参考学习,大神们如有兴趣请批评指正!!!
& &相信对于很多Linux初学者或者仅仅是听说Linux还没有接触过的同学会有一种神秘感或者不敢碰触的感觉,今天就帮大家揭开它的神秘面纱,其实并没有那么深不可测,只要你敢,你有决心去下工夫看完以下内容(是时候该逼自己下决心去做一些事情了!!!)。废话少说,浪费大家宝贵时间。
&概述: 以下主要从Bash脚本的格式,变量,基本运算语法和实例来讲解;每个实例都保证运行测试通过,然后截屏与大家分享;大家通过一些简单的实例相信会很快上手,不要灰心,要相信自己;人和人之间的差距就在于用心去做。
基本内容:
Shell脚本的基本格式:
用vim等编辑器新建一个bash.sh的文本文件,第一行以#!/bin/bash开头即可。
一个规范的Shell的基本格式如下:
#!/bin/bash
#&Description&:test
#&Version&0.0.1
#&Author:zgq
#&Date&:time
第一行是标准格式,我们在此处仅针对Bash来说,必须这样写,任何一门语言都有其规范;第二行Description简单描述一下Shell的基本功能,第三行Version版本信息,第四行Author:作者信息,第五行Date:日期时间。除了第一行,其他以#开头的行均为注释信息,会被解释器忽略。
希望大家在以后实现脚本功能之后将此信息补充完整,存在既有其将来被用到的一天。
实例:新建一个脚本/tmp/test.sh实现如下功能:
&&&&&&&& 1) 新建一个用户magedu,
2)创建目录/tmp/hellobash
3)复制/etc/rc.d/init.d/functions至/tmp/hellobash中
大家动手新建这个一个简单的脚本,熟悉一下其基本的写法规范。其实Shell脚本是一个过程式编程语言,把常用的Shell命令按顺序罗列起来就是一个脚本。
&&&&&&&脚本写完了,我们怎么去执行它呢?
首先用ll命令看一下此脚本是没有执行权限的,用chmod &+x &/tmp/test.sh
赋予执行权限;然后用bash &–n &test.sh 此功能是语法测试,如果没有任何结果则是最好的结果,bash &–x &test.sh 单步执行显示其运行过程结果;
或者我们直接bash &test.sh 执行脚本。
变量概述:
Bash变量名称命令规则:
a)只能包含字母、数字和下划线,并且不能以数字开头;
b)不能与系统中环境变量重名 &&&&&& c)见名知意
Bash变量赋值和撤销:
Bash属于弱类型语言,任何变量无需事先声明,可直接使用,值默认都是字符型;
& &格式& 变量=值
&&&&&&&&&&&&&&&&&& 例如: a=abc
&&&&&&&&&&&&&&&&&&&&&&&&&&& && declare &-i &varname=0
变量撤销: unset varname
变量类别:
&&&&&&&&&&&&&&&&&&&&&&&&&&& 本地变量:作用域为整个bash进程
&&&&&&&&&&&&&&&&&&&&&&&&&&& 环境变量:作用域为当前shell进程及其子进程
&&&&&&&&&&&&&&&&&&&&&&&&&&& 局部变量:作用域只对当前代码段有效
&&&&&&&&&&&&&&&&&&&&&&&&&&& 位置变量:$1,,,$n,${10} ,,,,,
&&&&&&&&&&&&&&&&&&&&&&&&&&& 特殊变量:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& $?:状态返回值
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& $#:传递给脚本参数的个数
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& $*:显示所有的参数
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& $@:引用传递给脚本的所有参数
&&&&& 实例:&& &写一个脚本如下
执行结果解析:在脚本后面输入了4个参数,那么$1的值为1,$2的值为2,$*的值为所有参数值,$#的值为参数的个数4个,$@的值是所有参数的值,$0的值为返回脚本的名称,$?的值为此脚本执行状态的返回值0,脚本执行成功的状态返回值为0,如果脚本执行错误会返回1-255的值;&
&实例扩展:写一个如下脚本运行
&&&&&&&&& 结果分析:输入四个参数,$1的返回值为1,$2的返回值为3,$*的返回值为3和4,所有参数的值(可以理解为一共四个参数,两个shift,所以把左边两个参数值释放),$#返回参数的个数2个。由以上结果可以得出shift& [n]的作用是把左边n个参数的值释放掉;& & & & & & & & &&
&&&&&&&&&&&&&&&&&& Bash基本运算:
Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。expr 是一款表达式计算工具,使用它能完成表达式的求值操作
&&&&&&&&&&&&&&&&&& 1、算术运算:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
`expr $a + $b` 结果为&30。
`expr $a – $b` 结果为 10。
`expr $a \* $b` 结果为 &200。
`expr $b / $a` 结果为&2。
`expr $b % $a` 结果为&0。
a=$b 将把变量 b 的值赋给 a。
相等。用于比较两个数字,相同则返回 true。
[ $a == $b ] 返回&false。
不相等。用于比较两个数字,不相同则返回 true。
[ $a != $b ] 返回 true。
乘号(*)前边必须加反斜杠(\)才能实现乘法运算;&&&
执行结果如下:
&&&&&&&&&&&&&&2、关系运算
关系运算符只支持数字,不支持字符串,除非字符串的值是数字。
检测两个数是否相等,相等返回 true。
[ $a -eq $b ] 返回&true。
检测两个数是否相等,不相等返回 true。
[ $a -ne $b ] 返回 true。
检测左边的数是否大于右边的,如果是,则返回 true。
[ $a -gt $b ] 返回 false。
检测左边的数是否小于右边的,如果是,则返回 true。
[ $a -lt $b ] 返回 true。
检测左边的数是否大等于右边的,如果是,则返回 true。
[ $a -ge $b ] 返回 false。
检测左边的数是否小于等于右边的,如果是,则返回 true。
[ $a -le $b ] 返回 true。
执行结果如下:
字符串运算: &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
检测两个字符串是否相等,相等返回 true。
[ $a = $b ] 返回 false。
检测两个字符串是否相等,不相等返回 true。
[ $a != $b ] 返回&true。
检测字符串长度是否为0,为0返回 true。
[ -z $a ] 返回 false。
检测字符串长度是否为0,不为0返回 true。
[ -n $a ] 返回 true。
检测字符串是否为空,不为空返回 true。
[ $a ] 返回&true。
执行结果如下:
布尔运算符
非运算,表达式为 true 则返回 false,否则返回 true。
[ ! false ] 返回 true。
或运算,有一个表达式为 true 则返回 true。
[ $a -lt 20 -o $b -gt 100 ] 返回&true。
与运算,两个表达式都为 true 才返回 true。
[ $a -lt 20 -a $b -gt 100 ] 返回&false。
执行结果如下:
&&&&&&&&&&&&&&&&&&&&&&&&&&& 文件测试运算符列表:
检测文件是否是块设备文件,如果是,则返回 true。
[ -b $file ] 返回 false。
检测文件是否是字符设备文件,如果是,则返回 true。
[ -b $file ] 返回&false。
检测文件是否是目录,如果是,则返回 true。
[ -d $file ] 返回 false。
检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回 true。
[ -f $file ] 返回&true。
检测文件是否设置了 SGID 位,如果是,则返回 true。
[ -g $file ] 返回&false。
检测文件是否设置了粘着位(Sticky Bit),如果是,则返回 true。
[ -k $file ] 返回&false。
检测文件是否是具名管道,如果是,则返回 true。
[ -p $file ] 返回&false。
检测文件是否设置了 SUID 位,如果是,则返回 true。
[ -u $file ] 返回&false。
检测文件是否可读,如果是,则返回 true。
[ -r $file ] 返回&true。
检测文件是否可写,如果是,则返回 true。
[ -w $file ] 返回&true。
检测文件是否可执行,如果是,则返回 true。
[ -x $file ] 返回&true。
检测文件是否为空(文件大小是否大于0),不为空返回 true。
[ -s $file ] 返回&true。
检测文件(包括目录)是否存在,如果是,则返回 true。
[ -e $file ] 返回&true。
执行结果如下:
好了,时间紧,就先说到这里,有不完整和补充的地方希望大家指正。接下来有时间在说Shell的基本语法格式条件语句:if,case,循环语句:for while,until.希望大家有好的意见和建议并批评指正!!!我们一点一滴的去慢慢稳扎稳打,相信有一天你会成为你想成为的人!!!
转载请注明: &
与本文相关的文章博客访问: 130891
博文数量: 53
博客积分: 1287
博客等级: 少尉
技术积分: 581
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX
str1="strrr" str2="str3" str3=$str1$str2 echo $str3 ./example strrrstr3
阅读(4316) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。

我要回帖

更多关于 bash 变量字符串拼接 的文章

 

随机推荐