Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

绿色网站无广告
会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux编程 > » 正文

shell学习笔记

来源: 未知 分享至:
  1. 什么是shell? redhat 9下都有什么shell?
    可以和内核进行通信的只有三种类型的程序:shell  kde/gnome aplication,shell是命令解释器,redhat9下都有shell: bash、ash、tsh等
  2. 什么是shell脚本?shell脚本要运行,需要什么条件?shell脚本都有什么语法和规则?
     如果学学习过dos下的批处理命令的话就会对shel非常的熟悉,shell脚本就是命令的集合,但又一些扩展的东西,比如加入了编程语言种的跳转、循环、条件判断等,shell种的变量不需要定义就可以直接使用哪个。
  3. shell中的变量?
    shell的变量在申明的是偶就可以直接的使用, 定义的合适为 : 变量名=变量值 ,如果变量值中出现空格,可以将变量值用引号括起来, 应用: $(变量名),shell中的特殊变量:$#  脚本传递的参数个数,$* 显示脚本传递的所有参数 $$ 脚本运行的当前pid号,$? 显示最后推出的状态 0为正确 1为发生错误,$1 : 引用传递的参数。 shell中的变量可以定义类型,可以使用declare 命令 格式为: declare[-afirx] 变量名   -a 定义为数组 -f 定义为函数  -i  定义为整数  -r 定义为只读  -x 定义为透过环境的输出变量, 从键盘读取参数可以采用: read  变量名
  4. 关于shell学习中的变量测试:
    条件测试又两种方式: test  condition  
                                        [  conditon ] 
           需要主要的是[],方括号的两边各加一个空格,
    测试文件状态: 
    -e  是否存在   -d 是否为目录   -f 是否文件存在  -L 是否为文件连接符
    -s 文件非空   -r 是否可读   -w是否可写  -x是否可执行 
    [  -e /dir ] && echo exitst ,这里要注意的是逻辑连接符,它的意思是如果前边的条件测试成立,然后才执行后边的命令,如果不成立,则不执行后边的命令。

    字符串测试命令:

    测试格式为: test str operate str    ; test str_operate str
                         [ str_operate str ]        [  str  operate  str ]
    其中的stroperate  operate 可以为 :
    =  两个字符串相等     !=  两个字符串不相等    -z  字符串为空   -n  字符串非空

    数值的测试条件: 
    格式为: test  num1  operate num2   [  num1 operate  num2] 
      operate 可为:   -eq   -ne   -gt  -lt  -ge   -le  

    多重条件判断:

    -a     :  test -x file -a -r file      ;    -o    test -x file -o  -w file   ;  !:   test ! -x file  
  5. if 循环结构:

    if  [   ]  ;then
    code1
    else
    code 2
    fi  

    if [] ;then
    code1
    elif [] ; then
    code2
    .....
    else
    coden
    fi   
  6. 多重跳转 case

    case $变量名  in
      第n个变量值)
    code 1
    ::
    .....
    *)
      coden
    exit 1
    esac

Tags: shell shell学习
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史