shell是一门编程语言,和计算机沟通的语言
而我们所做的,就是和计算机对话,也就意味着,编程也只是一个语言
流程很重要,了解一件事怎么做的流程,通过编程实现这个流程
就是我们学习shell的作用
什么是程序?
一些代码文件
什么是进程?
一个程序的运行过程
机器语言:用二进制去编程,直接控制计算机硬件
优点:执行效率高
缺点:1.复杂度高,开发效率低2.难以记忆,出错率大
汇编语言:用英文标签取代二进制去编写程序,直接控制计算机硬件
优点:1.执行效率高,低于机器语言(汇编语言计算机无法直接识别,需要转成机器语言二进制)解决机器语言复杂度高德问题
缺点:1.复杂度依旧高,开发效率低
高级语言:用人类能理解的表达方式去编写程序,计算机无法理解,需要翻译
翻译型(C,GO)
编译型语言写出的代码---------》编译器-------------》机器指令 一次性翻译
解释性(SHELL,PYTHON)
解释型语言写出的代码---------》解释器-------------》机器指令 每次都需翻译
应用程序----------软件
命令---------------LS
系统应用程序----------BASH解释器 C语言程序
系统接口层-----------操作系统
内核---------------------操作系统
计算机硬件
第一个shell程序怎么写?
编写shell程序的两个地方
解释器的交互式环境---------代码不能保存----------即时性强
代码写入文件--脚本文件 .sh ---------永久保存,可以重复允许
第一个shell程序怎么写?
编写shell程序的两个地方
解释器的交互式环境---------代码不能保存----------即时性强
代码写入文件--脚本文件 .sh ---------永久保存,可以重复允许
BASH 软件
运行shell程序三个步骤 1.sh
1.先运行bash解释器
2.bash解释器会将1.sh的内容从硬盘读入内存,此时没有语法意义
3.bash解释器,执行脚本内容,识别语法
运行shell的四种方式
1.绝对路径
权限:
1.当前用户对沿途的文件夹都有X权限
2.当前用户对目标文件有R+X权限
2.相对路径
权限:
1.必须加上./作为前缀
2.当前用户对目标文件有R+X权限
3.加上解释器为前缀
权限:
1.当前用户对沿途的文件夹都有X权限
2.当前用户对目标文件有R权限
用法:bash文件路径(绝对路径,相对路径)
4.source命令执行或者在路径前加.空格为前缀
权限:
1.当前用户对沿途的文件夹都有X权限
2.当前用户对目标文件有R权限
用法:source文件路径(绝对路径,相对路径)
. (绝对路径,相对路径)
方式1.2.3都是开启了一个子bash进程,然后在子进场里面运行shell
方式4是在主bash进程运行shell
shell基本语法结构典型举例
#!/bin/bash
# Program:
# This program shows "Hello World!" in your screen.
# History:
# 2015/07/16 VBird First release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
echo -e "Hello World! \a \n"
exit 0