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程序
-
文章图片
-
文章图片
- 输入脚本的绝对路径或者相对路径
-
/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
-
文章图片
- 当前变量传递到了子进程
-
推荐阅读
- 服务器|JetBrains全家桶(PyCharm/WebStorm/IntelliJIDEA) Deployment一键部署
- LINUX|【正点原子Linux连载】第五十八章 Linux INPUT子系统实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
- LINUX|【正点原子Linux连载】第六十四章 Linux 多点电容触摸屏实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
- i.MX6ULL终结者|i.MX6ULL终结者Linux INPUT子系统实验linux自带按键驱动程序
- 程序员|树莓派4B安装Ubuntu Mate20.04
- Linux|7.【刷爆LeetCode】把字符串转换成整数(多方法、多思路)
- docker|k8s搭建EFK日志管理系统
- 运维|Linux的进程控制
- 服务器|Linux中进程间通信