Shell名词概述
- Kernel
- Linux的内核主要是和硬件打交道
- Shell
- 命令解释器(command interpreter)
- Shell是一个用C语言编写的程序
- Shell是一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务
- Shell的两大主流
- sh:
- Bourne shell(sh),Solaris,hpux默认shell
- Bourne again shell(bash),Linux系统默认shell
- sh:
- csh
- C shell(csh)
- tc shell(tcsh)
- #!声明
- 告诉系统其后路径所指定的程序即是解释此脚本文件的Shell程序
-
Shell脚本的执行方式
- 输入脚本的绝对路径或者相对路径
-
/root/hello.sh(脚本文件)
-
./hello.sh
-
- bash或sh +脚本
-
sh hello.sh
- 当脚本没有x权限时,root和文件所有者通过该方式可以正常执行
-
- 在脚本的路径前再加“.”或source
-
source hello.sh(脚本文件)
-
- 区别
- 第一种和第二种会新开一个bash,不同的bash中的变量无法共享
- 第三种是在同一个shell里面执行的
- 第一种方式(会多一个bash进程)
- 第二种方式(多一个sh进程)
- 第三种方式
- export
- 可以将当前进程的变量传递给子进程去使用
- 配置profile的时候,所有的变量前必须加export
- 第二种方式执行
- 第三种方式执行
- 第二种方式执行
- 使用export
- 当前变量传递到了子进程