您的位置:首页 > 运维架构 > Shell

shell知识点2

2015-06-20 20:52 615 查看
shell语法

 变量:

Shell中存在两种类型的变量:临时变量、环境变量。环境变量实用就行的变量,它的值不会因为Shell脚本的结束而结束;临时变量则会在Shell脚本技术的时候自动消失。

Shell中变量一般用来存储字符串,一般情况下,数字也是以字符串的形式存在的。Shell变量使用十分灵活,甚至不需要预先定义就可以直接使用。

命名规则:以字符画着下划线开头,字母、数字、下划线共同组成。需要注意,Shell是区分大小写的,变量名长度不做限制。

变量赋值:变量名=字符串。

注意,“=”两边不能有空格,不然会带来错误;没有赋值的变量或者“=”右边没有值,该变量为空;变量中罕有空格、制表位、换行符,要用双引号括起来,否则会报错。

变量引用:

需要在被引用的变量名前面加上“$”符号;一个变量参与一个长字符串的组合,如果当前变量处在字符串最后,可以直接饮用,如果处于中间或开头,则可以用花括号抱起来。

例子:

#! bin/sh

name = Lyli

echo name

echo ${name}hello

echo hello$name

输出:

Lyli

Lylihello

helloLyli

    通配符:

*符号:替换字符串的零次或者多次出现,如T*,可以匹配Ti,Ttyyn等。注意:匹配文件名与路径时,"."符号和"\"符号密续显示匹配

?符号:匹配对应位置的一个字符。

[]符号:匹配该字符组锁限定范围内的任何一个字符,如果方括号中出现*和?通配符,则不具有匹配性,如f[a-z]le可以表示fale和file等。

!符号:与[]符号配合使用,!的意思是匹配不存在留出的字符如:f[!a-z]le不可以匹配file,能匹配f0le。

    输入和输出:

Shell的输入指令是read函数,输出指令是echo函数。

例子:

#! /bin/sh

echo "input two names:"

read name1 name2

echo "name1 is:" $name1

echo "name2 is:" $name2

执行结果:

input two names

ll li

name1 is: ll

name2 is: li

注意转义字符及其作用:\a响铃报警;\b后退一个字符位置;\c不换行;\e转义字符:\f换页;\n显示换行;\r回车;\t制表符;\v垂直制表符;\\反斜线

    数组

Shell中可以用数组来存储同类型的数值集合,Shell支持一维数组,但不限定数组的具体大小。使用的事后采用制定下标即可

上例子:

#! /bin/sh

name = (A B C D)

echo "name[0] is:" ${name[0]}

echo "name[1] is:" ${name[1]}

运行结果:

name[0] is A

name[1] is B

数组下标中,可以用*或者@代替所有元素,要删除一个已经存在的元素,可以用unset,该指令与set相对

    环境变量:

通过环境变量,我们可以配置用户的操作环境。以下是基本的环境变量:

PWD 当前用户的工作目录

HOME 用户主目录的路径全名

LOG NAME 用户的登录名

SHELL 当前所使用的Shell

PATH 命令列表所在的目录

环境变量删除可以用unset指令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell