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、写脚本的规范和习惯

原文地址:https://www.cnblogs.com/Klanti/p/9143764.html