Shell

发布时间 2023-06-07 11:07:57作者: 尘风风尘

Shell

学当以立德,百行当以德为首!

Shell概述

Shell工具
Shell在线编辑工具

Shell发展
Ken Thompsonsh是第一种Unix ShellWindows Explorer是一个典型的图形界面Shell

Shell风格
Shell风格有图形化Shell(GUI shell)、命令行shell(Command Line Interface shell,CLI shell)

Shell概念
Shell是一个用C语言编写的程序,它是用户使用Linux的桥梁,它既是一种命令语言,又是一种程序设计语言

Shell特点
访问操作系统内核的服务、提供文件名扩展字符即通配符(*、?、[])、无需创建新进程、允许灵活地使用数据流、模块化编程

Shell分类
Shell分为ShellShell脚本(shell script),Shell通常指Shell脚本ShellShell脚本两者却是不同

Shell环境
ShellJavaScriptPHP编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了

Shell种类
LinuxShell种类众多常见有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)

  • Bourne Shell(/usr/bin/sh或/bin/sh)
    • 一般不区分Bourne ShellBourne 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命令查看保留关键字)。