Shell
学当以立德,百行当以德为首!
Shell概述
Shell工具
Shell在线编辑工具
Shell发展
Ken Thompson
的sh
是第一种Unix Shell
,Windows Explorer
是一个典型的图形界面Shell
Shell风格
Shell
风格有图形化Shell
(GUI shell)、命令行shell
(Command Line Interface shell,CLI shell)
Shell概念
Shell
是一个用C语言
编写的程序,它是用户使用Linux
的桥梁,它既是一种命令语言,又是一种程序设计语言
Shell特点
访问操作系统内核的服务、提供文件名扩展字符即通配符(*、?、[])、无需创建新进程、允许灵活地使用数据流、模块化编程
Shell分类
Shell
分为Shell
和Shell脚本
(shell script),Shell
通常指Shell脚本
但Shell
和Shell
脚本两者却是不同
Shell环境
Shell
跟JavaScript
、PHP
编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了
Shell种类
Linux
的Shell
种类众多常见有:Bourne Shell
(/usr/bin/sh或/bin/sh)、Bourne Again Shell
(/bin/bash)
- Bourne Shell(/usr/bin/sh或/bin/sh)
- 一般不区分
Bourne Shell
和Bourne Again Shell
,所以#!/bin/sh
也可改为#!/bin/bash
#!
代表告诉系统其后路径所指定的程序即是解释此脚本文件的Shell
程序
- 一般不区分
- Bourne Again Shell
Bourne Again Shell
易用且免费被广泛使用,同时Bash
也是大多数Linux
系统默认的Shell
- Shell其它不常用种类
C Shell
(/usr/bin/csh)、K Shell
(/usr/bin/ksh)、Shell for Root
(/sbin/sh)、PowerShell
Shell编写
Shell后缀
Shell
扩展名为sh
Shell运行
Shell脚本
运行的两种方法:作为可执行程序、作为解释器参数
- 作为可执行程序
- 第一步编写
sh代码
并保存为xxx.sh
,再cd
进入到相应目录 - 第二步通过命令
chmod +x ./xxx.sh
,使脚本具有执行权限(一定要写成./xxx.sh
而不是xxx.sh
) - 第三步通过命令
./xxx.sh
,执行脚本
- 第一步编写
- 作为解释器参数
- 此方式是直接运行解释器,其参数是
shell
脚本文件,如:/bin/sh xxx.sh
,且无需在第一行指定解释器信息
- 此方式是直接运行解释器,其参数是
Shell语法
Shell变量
定义变量时变量名不加美元符号($,PHP语言中变量需要),如:your_name="zhr"
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:
命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
中间不能有空格,可以使用下划线 _。
不能使用标点符号。
不能使用bash里的关键字(可用help命令查看保留关键字)。