Linux shell编程(一)变量与字符串操作
1. #! /bin/bash shopt -s -o nounset infomix="50" echo $infomix ========================= -s 表示打开选项的意思,-o 表示可用set -o 设定的选项,nounset 表示变量一定要先设定过,才能使用. 2. I=8 J=$I echo $J ####### J=$I 这一行,$I会替换成8,再把8设定给J,显示8. 3. I=8 echo $I ########$放在变量名称之前,表示要取变量值,但如果要显示$符号,得使用转义符‘’. 4. 除了使用内置命令echo显示变量的内容外,BASH还提供一个printf命令 printf "格式字符串"字符串或变量值 HI=“hello world” printf "%s" "$HI" ###########会以字符串的方式(%s之意),显示HI变量值内容,但不换行. HI=“hello world” printf "%sn" "$HI" #####在格式字符串中加入n,就有换行的效果. 5.“取消变量”和“清空变量”差异 取消变量的方法:使用unset unset 变量名称 清空变量的做法:变量名称= myname="ols3" myname= #######把变量重新设一个空值,等号的右边是空的. 6. 变量和引号 在双引号中,可进行以下3个操作: (1)替换变量 (2)替换命令执行结果 (3)替换算术运算结果 ##单引号的作用是形成一个所见即所得得字符串(即写什么,就显示什么),不会进行任何替换变量的操作. 7. 环境变量 变成环境变量的方法可使用export这个命令: testVAR="hello world" export testVAR 或者 export testVAR="hello world" 8. IFS 定义字段分割字符.默认值为:空格符,tab字符,换行字符. #i /bin/bash CHK="test1 test2 test3 test4" for i in $CHK do echo $i done ######$IFS的内容之一是空格符,可把$CHK拆成4个部分(称为字段),分别交给echo $i显示出来. 执行结果: test1 test2 test3 test4 9. 调整变量的属性 只读变量:使用readonly命令 设定为只读变量:readonly 变量名称 不能修改内容的变量为只读变量. 10. 别名 替指令取一个短而方便的代称. alias 别名=指令 alias ll=''ls -l --color=auto'' 取消别名的方法:unalias 别名 11. 数组的用法 A[0]=5 A[1]=10 A[2]=28 这里建立了一个数组叫A,共有3个元素,欲显示或取得某一个元素的值,其语法为:${数组[索引值]} echo ${A[1]} 建立数组,也可以一次设定每个元素的值,做法如下 B=(23 88 89 66) echo ${B[2]} 取出数组所有的元素 echo ${B[@]} 结果显示:23 88 89 66 取得数组元素的个数 echo ${#B[@]} 结果是4,表示数组B有4个元素. 取消数组或数组元素 unset B 12. 用Here Document设定变量 Here Document 的基本语法为: 命令 <<标记 ..... ..... 标记 用例: from=''from: me@example.edu.cn'' to=''to: you@example.edu.cn'' subject=''subject: hello world'' msg=''新年快乐'' em=''2009.txt'' cat > $em <<HERE $from $to $subject
$msg HERE 结果存成文件2009.txt文件,其内容如下: from: me@example.edu.cn to: you@example.edu.cn subject: hello world 新年快乐 关闭变量替换的功能 cat << ''HERE'' line 1 is good they are jack,marry and john $WOW HERE 对标记HERE加上单引号,即可关闭变量替换. 本文出自 “我的地盘听我的” 博客,请务必保留此出处http://2614223.blog.51cto.com/2604223/577444 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |