zoukankan      html  css  js  c++  java
  • linux基础学习-19.2-Shell脚本的创建

    shell脚本的建立 {#21-shell脚本的建立}

    使用vim 编辑器编辑脚本,可以事先做个别名

    [root@oldboyedu ~]# echo "alias vi= 'vim'" >>/etc/profile

    [root@oldboyedu ~]# . /etc/profile

    2.1.1 脚本开头(第一行) {#211-脚本开头(第一行)}

    规范的shell 脚本第一行会指出哪个程序(解释器),来执行脚本的内容,在linux bash编程中一般为:

    #!/bin/bash

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

    其中开头的“#!”又称为幻数,在执行shell 脚本中,内核会根据“#!”后的解释器来确定用哪个程序解释脚本中的内容,注意:这一行必须在每个脚本顶端的第一行,如果不是第一行则为脚本注释行。 {#其中开头的!又称为幻数,在执行shell-脚本中,内核会根据!后的解释器来确定用哪个程序解释脚本中的内容,注意:这一行必须在每个脚本顶端的第一行,如果不是第一行则为脚本注释行。}

    bash版本

    [root@oldboyedu ~]# bash --version

    GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)

    Copyright (C) 2009 Free Software Foundation, Inc.

    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>;

    This is free software; you are free to change and redistribute it.

    There is NO WARRANTY, to the extent permitted by law.

    [root@oldboyedu ~]#

    2.1.2 shell 脚本的执行 {#212-shell-脚本的执行}

    shell脚本执行的四种方式:

    1)bash script-name 或sh script-name

    这种方法是当脚本本身没有可执行权限时常使用的方法

    2)path/script-name 或./script-name (全路径或当前路径执行脚本)

    这种方法首选需要给脚本文件可执行权限

    3)source script-name 或. script-name #注意“.” 点号,且点号后有空格。

    source或.在执行这个脚本的同时,可以将脚本中的函数和变量加载到当前shell。不会产生子shell。又有点像nginx的include功能。

    4)sh <script -name 或cat script-name |sh 或cat script -name|bash

    这种用法用的不多,我们在开机启动项优化使用过。

    2.1.3 shell脚本开发的规范和习惯 {#213-shell脚本开发的规范和习惯}

    1)开头指定脚本解释器

    2)开头加长版本版权等信息,可配置~/.vimrc 文件自动添加

    3)脚本不要用中文注释,尽量用英文注释

    4)脚本以.sh为扩展名。

    5)放在统一的目录

    6)代码书写优秀习惯

    a: 成对的内容一次性写出来,防止遗漏,如;[ ] , ‘’ ,“” 等

    b:[ ] 两端要有空格,先输入[ ],退格。输入2个空格,再退格写

    c:流程控制语句一次书写完,再添加内容。heen

    if 条件

    then

    内容

    fi

    d通过缩进让代码易读

    f 脚本中引号都是英文状态下的引号,其他字符也是英文状态。

    练习题:

    1、叙述脚本执行的四种方式

    2、写脚本的规范和习惯

  • 相关阅读:
    PAT:1006(换个格式输出整数想&#183;)
    PAT 1008(数组循环右移问题)
    kaliLinux 工具dmitry参数解析
    PAT 1004(成绩排名)(C++)
    PAT乙级:我要通过(1003)
    PAT乙级:写出这个数(1002)
    PAT乙级:(3n+1)猜想 (1001)
    Linux初体验
    C语言基础入门:起源
    Linux_ pipe 匿名管道 浅解
  • 原文地址:https://www.cnblogs.com/Klanti/p/9143764.html
Copyright © 2011-2022 走看看