[Linux]Shell简介

简介

真正能够控制计算机硬件(CPU、内存、显示器等)的只有操作系统内核(Kernel),有两种跟内核交互的桥梁:图形界面和命令行要达到的目的是一样的,都是让用户控制计算机。

Shell 是一个应用程序,它连接了用户和Linux 内核,让用户能够更加高效、安全、低成本地使用Linux 内核。Shell 程序本身的功能是很弱的,比如文件操作、输入输出、进程管理等都得依赖内核。我们运行一个命令,大部分情况下Shell 都会去调用内核暴露出来的接口。

Shell 也支持基本的编程元素,Shell 是一种脚本语言:

  • if...else 选择结构,case...in 开关语句,for、while、until 循环
  • 变量、数组、字符串、注释、加减乘除、逻辑运算等概念
  • 函数,包括用户自定义的函数和内置函数(例如printf、export、eval 等)(通过调用内核接口实现)

常见的Shell

常见的Shell有sh、bash、csh、tcsh、ash:

  • sh:全称是Bourne shell,是UNIX 上的标准shell
  • csh:这个shell 的语法有点类似C语言,所以才得名为C shell ,简称为csh
  • tcsh:csh 的增强版,加入了命令补全功能,提供了更加强大的语法支持
  • ash:轻量级的Shell,占用资源少,适合运行于低内存环境,与bash shell完全兼容
  • bash:bash shell,是Linux的默认shell,由GNU组织开发,保持了对sh shell的兼容性,是各种Linux发行版默认配置的shell

 Shell脚本

脚本开头:

#!/bin/bash

#! 是一个约定的标记,告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell

/bin/bash 为shell程序所在路径

运行方法:

1. 保存为.sh文件,直接执行脚本文件(可能需要赋予脚本执行权限),此时使用的shell解释器会根据脚本开头的信息决定

./path/test.sh

2.  直接运行解释器(shell程序),参数为脚本文件,此时使用的shell解释器强制为运行的解释器,不会去参考脚本开头的信息

/bin/sh test.sh

你可能感兴趣的:(学习笔记-扫盲,Linux,linux,笔记)