第二十一节 shell简介和创建

shell是命令解释器,是Unix操作系统的用户接口,程序从用户口得到的输入信息,shell将用户程序及其输入翻译成操作系统内核(kernel)能够识别的指令,并且操作系统内核执行完将返回的输出通过shell再呈现给用户

shell也是一种编程语言,即shell脚本,shell是解释执行脚本的语言,可直接调用Linux命令

一个操作系统可以有多个shell,可以通过cat /etc/shells查看系统中安装的shell,不同的shell可能支持的语法是不同的

#!/bin/bash
第一行写这个,表示脚本将要调用shell解释器
#!符合能够被内核识别成一个脚本的开始,这一行必须位于脚本的首行,/bin/bash是bash的绝对路径,在这里表示后缀的内容将同过bash程序执行


执行shell的方式
1、输入脚本的绝对或者相对路径,但是要求有执行权限
/root/helloworld.sh
./helloworld.sh
2、当下面两种脚本没有执行权限是,root用户和文件所有者通过bash/sh或者加.或者source也可以正常执行
bash /root/helloworld.sh
sh helloworld.sh
上面两种等于新开一个bash,不同的bash中的变量无法共享,相当于开了一个新进程

. ./helloworld.sh
source /root/helloworld.sh
这两种在同一个进程里

测试:
test=aa

echo $test
echo 'echo $test'>>helloworld.sh

然后分别用上面的方式测试,前面两种打印不出aa,后两种可以

原文地址:https://www.cnblogs.com/kogmaw/p/12410210.html