【Linux Shell学习笔记】Linux Shell基本流程和基本语法

第一部分:Linux Shell 简介

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。
当一个用户登陆linux 系统后,系统就会为该用户创建一个shell程序。
Shell的版本:

  • Bourne Shell:是贝尔实验室开发的,unix普遍使用的shell,在编程方面比较优秀,但在用户交互方面没有其他shell优秀。
  • BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell,在bourne shell基础上增强了很多特性,如命令补全,命令历史表等等
  • Korn Shell:是对Bourne Shell 的发展,在大部分内容上与Bourne Shell兼容,集成了C Shell和Bourne shell优点。
  • C Shell:是SUN公司Shell的BSD版本,语法与c语言相似,比bourne shell 更适合编程

第二部分:shell编程的基本流程

1、用vim创建一个后缀为.sh的文件

 注:脚本文件的后缀,即使不是.sh也是可以正常执行的。

2、在.sh文件中写入内容

 第一行固定写法:

#!/bin/bash           #用来指定bash解释器
第二行脚本正文内容:

以#开头的是注释行

3、给脚本进行赋权

chmod  +x  脚本


4、执行脚本

./脚本

注:当然我们也可以跳过第三步直接执行脚本

bash  脚本文件

三、shell编程基础语法

1、变量
定义变量:变量名=变量值

注:

1)直接用等号进行定义;

2)等号两侧不能出现空格;

变量名的定义规则

只能是数字、字母、下划线
不能以数字开头
建议变量名见名知意,例:驼峰写法
输出变量值:$变量名

2、数据类型

字符串类型、数值类型、布尔类型【真|假】

3、 输入和输出


输入:read  -p  "提示信息"  变量名
# 提示信息:给用户看要输入什么内容
输出:echo  "要输出的内容 $变量名"


4、 判断基础

[ 判断表达式 ]
# 方括号两侧要留空格,否则会报错
# 返回结果:真:0  假:1


4.1 比较两个数大小的符号


-gt  表示大于(>)

-ge 表示大于等于(>=)

-lt   表示小于(<)

-le  表示小于等于(<=)

-eq 表示等于(==)

-ne 表示不等于(!=) 

4.2 比较两个字符串是否相同


== 表示字符串相同                                

!= 表示字符串不同

4.3 判断文件


 判断文件是否存在:

        [ -a  文件名 ]  文件存在,返回真;文件不存在,返回假

        [ -e 文件名 ]   文件存在,返回真;文件不存在,返回假

判断文件类型:

        [ -d 文件名 ] 判断文件是否为目录,如果是目录,返回真;如果不是目录,返回假

        [ -f 文件名 ]  判断文件是否为一般文件,如果是一般文件,返回真;如果不是一般文件,返回假

4.5 关于$?

特殊的内置变量

这个变量可以表示离他最近的判断条件的结果

        如果结果为真,$?=0

        如果结果为假,$? !=0   这个变量中保存的值是非0的

你可能感兴趣的:(Linux,linux)