在编写脚本的时候指定解析器
在编写shell脚本时第一行以#!/bin/bash开头指定解析器。
在shell脚本中使用echo语句来在屏幕中打印内容。
调用shell脚本的第一种方式
在shell脚本中以bash或者是sh+脚本路径的方式来启动脚本。这种执行脚本的方式是在Linux操作系统的bashshell中又启动了一个子shell
调用shell脚本的第二种方式
通过给脚本来添加可执行权限,来通过脚本路径来直接执行脚本。
所有可执行文件在Linux操作系统中显示绿色。
如上图所示,如果想直接通过敲脚本路径来执行脚本,就需要为文件的权限添加上x可执行权限,如上图所示,这里为所有用户对于文件scripts/hello.sh都添加上了x可执行权限,
这时具有可执行权限的shell脚本文件在Linux操作系统中显示绿色。直接敲脚本的路径,就可以执行,
如上图所示,可以敲相对路径或者绝对路径来实现脚本的运行,但是不能直接敲脚本的名称,这样Linux操作系统会认为你是在敲一个命令,必须使用./脚本名称,这样的方式来以相对路径的方式执行脚本。
调用shell脚本的第三种方式
使用.命令或者source命令来加上脚本名称来执行脚本。这时的脚本名称都是.命令或者source命令的一个参数在使用。
如上图所示,type source,就可以看到source是shell的内嵌命令。
总结
第一种和第二种调用shell脚本的方式都相当于是在当前的bash shell大环境下又创建了一个子shell
然后将脚本中的命令拿到子shell进程中去实现,
但是第三种调用shell脚本的方式确实直接将脚本中的命令拿到当前这个bash shell环境下去执行,
第一种和第二种调用shell脚本的方式,这可能会使得在子shell中生成的操作在大环境下的bash shell是不生效的,这是由于这种shell嵌套的方式可能会导致环境变量的丢失导致的。
但是第三种调用shell的方式却是将脚本中的命令直接调到当前bash shell的大环境下去执行。所以没有丢失环境变量的顾虑。