美文网首页
shell脚本入门及基本元素

shell脚本入门及基本元素

作者: 喜欢萝莉的逗逼青年 | 来源:发表于2016-04-23 11:20 被阅读106次

    命令和参数


    #!/bin/sh  其中#!用来告诉系统它后面的参数是用来执行该文件的程序,必须放在脚本的首行,不然会在执行脚本的时候报错。
    当一个文件开头的两个字符是#!时,内核会扫描其它的部分看是否存在该行的其余部分,看是否存在可用来执行程序的解释器的完整路径。
    此外,内核还会扫描是否有一个选项要传递给解释器,可以用which sh 查找该路径;
        eg:csh脚本 路径 /usr/ucb/whi
        第一行    #!/bin/csh -f ,如果shell的查找路径里面有/usr/ucb,当用户键入whi -q /dev/tty 这条命令时,内核在解释过#!这行后,便会以如下的方式引用csh:
        /bin/csh -f /usr/ucb/whi  -q  /dev/tty
    

    shell的三种命令:内建命令,shell函数,外部命令
       * 内建命令:shell本身所执行的命令 eg: cd ls echo 这类的命令
       * shell函数:功能健全的一系列代码,可以像命令那样引用
       * 外部命令:shell副本所执行的命令
    

     变量
    在shell编程中,所有的变量都由字符串组成,并且不需要对变量进行声明,对一个变量赋值:
             变量名=值
     如果想取出变量的值,需要在变量名前加美元符$,变量名=值,这中间不能有空格
     如果变量的值含有空格时,要加上引号,像这样:a="1 2 3"
    

    简单的IO命令及重定向
    程序应该有数据来源端 、目的端、报告错误的地方,在shell里面分别对应标准输入,标准输出,错误标准输出。
    简单的echo,printf命令 (IO命令)
      echo string      用来产生shell脚本的输出
      echo 将各个参数打印到标准输出,并以换行符结束,如果不用换行符结束,可用echo -n 或者echo " \c"
    
      printf string 【arguments】   可以按格式输出简单的字符串
      第一部分是一个字符串,用来描述输出的排列方式,此字符串包含了按字面显示的字符以及格式声明
      格式声明就是表示参数应该按照何种格式进行输出
         eg:printf "the first program always prints '%s,%s'!\n" hello world 
         输出:the first program always prints  'hello world ' 以字符串的格式输出hello world
         printf "hello world \n" 注意:printf不会像echo那样,会自动提供一个换行符号
    
     重定向和管道符
     改变默认的I/O来源端和目的端,实际上,系统默认的标准输入(键盘),标准输出(终端)
        *  < 改变标准输入   > 改变标准输出  
              eg:program < file1        program> file2
        * >>追加 如果目的文件不存在,>>会重新新建一个,存在的话,会添加信息到原文件结尾处。
        *  | 管道符
              eg: p1 | p2  p1的标准输出是p2的标准输入
    

    相关文章

      网友评论

          本文标题:shell脚本入门及基本元素

          本文链接:https://www.haomeiwen.com/subject/yjixrttx.html