zoukankan      html  css  js  c++  java
  • shell-脚本的建立和执行

    1. shell脚本的建立和执行
      1) shell脚本的建立
      在linux系统中,shell脚本(bash shell程序)通常是在编辑器(如vi/vim)中编写,由unix/linux命令、bash shell命令、程序结构控制语句和注释等内容组成,推荐用vim编辑器。
      2) 脚本开头(第一行)
      一个规范的shell脚本的第一行会指出由哪个程序(解释器)来执行脚本中的内容,在linux bash编程中一般为:

    #!/bin/bash
    或
    #!/bin/sh  <==255个字符以内
    

          其中开头的"#!"又称为幻数,在执行bash脚本的时候,内核会根据"#!"后的解释器来确定该用哪个程序解释脚本中的内容,注意:这一行必须在每个脚本顶端的第一行,如果不是第一行则为脚本注释行,例如下面的例子。

    [root@1-241 scripts]# cat test1.sh 
    #!/bin/bash
    echo "scajy start"
    #!/bin/bash      <==写到这里就是注释
    #!/bin/sh
    echo "scajy en:"
    

      sh和bash的区别

    [root@1-241 scripts]# ls -l /bin/sh 
    lrwxrwxrwx. 1 root root 4 9月  13 20:37 /bin/sh -> bash

    提示:sh为bash的软连接,这里推荐用标准写法#!/bin/bash

       Bash是GNU/Linux默认的shell,和Bourne shell (sh)兼容,Bash采用了Korn shell (Ksh)和C shell(csh)的特色。符合IEEE POISIX P10003.2/ISO 9945.2 shell and tools 标准。

      Centos和redhat linux 下默认的shell 均为bash 因此,在写shell脚本的时候,我们的脚本的开头也可以不加#!/bin/bash。但如果当前的shell非你默认的shell时,比如tcsh,那么久必须要写#!了。否则脚本文件就只能执行一些命令的集合,不能够使用shell内建的指令了,建议读者养成习惯,不管什么脚本最好都加上开头语言标识,这在后文的shell编程规范中会再次提到。
      如果脚本的开头不指定解析器,那么,就要用对应的解释器来执行脚本。例如:bash test.sh

    • 脚本注释

      在shell脚本中,跟在(#)#号后面的内容表示注释,用来对脚本进行注释说明,注释部分不会被执行,仅仅是给人看的,注释可自一行,也可以跟在脚本命令后面与命令在同一行,开发脚本时,如果没有注释,其他人就很难理解脚本究竟在做什么,时间长了自己也会忘记。因此,我们要尽量成为所做的工作(脚本等)书写注释的习惯,不光是方便别人,也是方便自己。否则写完一个脚本后也许后就记不起脚本的用途了,在重新阅读也会浪费很多宝贵时间。对于团队的协作也不利。

  • 相关阅读:
    hdoj 2803 The MAX【简单规律题】
    hdoj 2579 Dating with girls(2)【三重数组标记去重】
    hdoj 1495 非常可乐【bfs隐式图】
    poj 1149 PIGS【最大流经典建图】
    poj 3281 Dining【拆点网络流】
    hdoj 3572 Task Schedule【建立超级源点超级汇点】
    hdoj 1532 Drainage Ditches【最大流模板题】
    poj 1459 Power Network【建立超级源点,超级汇点】
    hdoj 3861 The King’s Problem【强连通缩点建图&&最小路径覆盖】
    hdoj 1012 u Calculate e
  • 原文地址:https://www.cnblogs.com/scajy/p/12761892.html
Copyright © 2011-2022 走看看