快速业务通道

Linux shell编程(一)变量与字符串操作

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-04

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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号