shell 有sh 与 bash (b*** agin shell) ,我们使用bash
创建一个文件 touch hello.sh
使用vi编辑文本
#是注释
#!是编译器要编译文件
保存退出后
我们要修改文件件权限才能让他运行
chmod a+x hello.sh(文件名)
如果不改变权限的话要使用sh hello.sh可以运行
source hello.sh也可以用来运行文件
./ 与 sh 与source 方式运行shell有什么不同呢
./与sh方式他们会通过进程中的-bash创建一个sh hello.sh的进程去运行这个shell脚本
source 方式运行bash则不会创建新的进程去运行这个shell,除非这个shell中有其他需要创建进程运行的命令
-bash 进程也可以有多个 他是shell脚本解释器
不同bash中的变量不互通
比如你在命令行定义一个变量,所有的命令都是通过bash进程执行
定义一个变量name=libai
在hello.sh中让他输出引用的name
使用./与sh命令运行hello.sh
均无法打印libai
但使用source 命令执行hello.sh就可以打印
这就是./与sh命令运行hello.sh会创建新进程但source会使用bash的进程来运行