1. shell 脚本文件第一行: #!/bin/sh 或 #!/bin/bash
"#!" 又称为纪数,在执行bash脚本的时候,内核会根据它来确定该用哪个程序来解释脚本中的内容。这一行必须在脚本顶端的第一行,如果不是第一行则为注释
注: 为什么 sh 和 bash 都可以呢? 因为 sh 是 bash的链接文件 , 相当于windows中的link文件 。
如果脚本的开头不指定解释器,那么,就要用对应的解释器来执行脚本,例如: bash test.sh , python test.py
2. 注释符号: #
3. 反引号 : `pwd` => echo `pwd`/fcz.sh , 反引号的作用是执行命令时会解析反引号中的命令
4. 执行shell脚本的多种方法及区别
(1) sh fcz.sh
(2) bash fcz.sh
(3) source fcz.sh
(4) . fcz.sh
区别: sh 与 bash是一样的效果, source 和 . 是一样的效果 。
sh 与 bash 招待的函数或变量不能在别的shell脚本文件中被引用,
source 和 . 执行的函数或变量可以在别的shell脚本文件中被引用 .
面试题 : cat test.sh =>(输出) user=`whoami`
sh test.sh
echo $user
问 : 执行echo $user命令的结果是什么?
答案 : 空的,什么没有. (原因: 当执行sh test.sh时,是在一个新的sh脚本环境执行的,在当前的sh环境中(当前的控制器也是一个sh环境)是没有找到user变量 的).
5. shell脚本文件开发的基本规范和习惯
(1) 第一行还是指定脚本解释器
(2) 开头加版本版权等信息
#Date: 2016-1-17
#Author: Created by fcz
#Mail: 315400120@qq.com
#Function: This scripts function is ...
#Version: 1.1
(3) 配置vim编辑文件时自动加上以上信息,方法是修改 ~/.vimrc配置文件
(4) 脚本中不用中文注释,尽量用英文,宁使用拼音也不要使用中文
(5) 脚本以.sh为扩展名