shell知识点2

来源:互联网 发布:孔浩java怎么样 编辑:程序博客网 时间:2024/06/01 13:37

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指令。

0 0
原创粉丝点击