诸多类UNIX的操作系统很多,而其中重要的特性就是命令行界面和Shell,Shell环境使得用户能够和操作系统的核心功能进行交互,统称为脚本,编写脚本使用某种基于解释器的编程语言,将一系列需要执行的命令写入其中,通过shell来执行这些脚本
然后我们使用BASH Bourne Again Shell ,是目前大多数GNU的默认Shell环境
然后简单说下Shell环境和基本的特性
首先是打开Shell终端,出现一个提示符
例如:
root@hostname#
其中可以用$或者#来简单代替
$是普通用户,#是超级用户
Shell脚本是一个基于Shell环境的文本文件,每个文件的开头都有
#!/bin/bash
Linux环境下的任何脚本语言,都是以一个被称为shebang的特殊行作为起始的,这样的,字符#!被置于解释器路径之前
/bin/bash是BASH的路径
具体运行shell脚本的方式有两种
一种是将脚本作为sh的命令行参数
另一种是将脚本作为具有执行权限的可执行文件
将脚本作为命令行参数的运行方式如下
$sh script.sh 假如脚本位于当前目录之下
或者直接使用
$sh /home/path/script.sh 使用完整路径
如果将脚本作为了sh的命令行参数来运行,那么shebang行其实没有什么用处了
如果想要shell脚本能够独立的运行,具有可执行的权限,就必须利用shebang行,通过使用位于#!
之后的解释器来运行脚本,至于脚本的可执行权限,使用如下的命令行设置
$chmod a+x script.sh
然后执行起来就方便多了
直接
$./script.sh #
这样的执行的时候,会首先查看脚本的首行,查看shebang行是否为 #!/bin/bash
并且在内部按照如下的命令行执行该脚本
$/bin/bash script.sh
在打开一个终端,该终端会最初执行一组命令来初始化,诸如提示文本,颜色等各类设置,这组命令来自位于用户home目录中的.bashrc脚本文件,BASH还维护了一个历史记录文件 ~/.bash history,用于保存用户运行过的命令,~是一个简写,表现了用户home目录的路径
BASH中,每个命令是通过分号或者换行符来分割的,所以表现形式有如下两种
1.
$cmd1;cm2
2.
$cmd1
$cmd2
其中注释为 #