目录
一、shell的概述
1、shell本质是脚本文件:完成批处理。
2、shell 是软件也是语言。
3、系统默认调用的两个脚本文件
3、写脚本的步骤
二、shell的自定义变量
1、定义变量
2、引用变量
3、清除变量
4、只读变量
4、shell的变量 获取键盘输入read
三、环境变量
1、将脚本变量导出为环境变量
2、变量的注意事项
3、修改和追加环境变量的值
四、预设变量
五、shell脚本的特殊用法
六、条件测试
1、条件测试的语法
2、文件测试
3、字符串测试
4、数值测试
5、复合测试
编辑
七、控制语句
1、if控制语句
2、case控制语句
编辑 3、for循环语句
编辑
4、while循环语句
5、until循环控制语句
八、函数
一、shell的概述
1、shell本质是脚本文件:完成批处理。
shell脚本是一种脚本语言,我们只需使用任意文本编辑器,按照语法编写相应程序,增加可执行权限,即可在安装shell命令解释器的环境下执行。shell 脚本主要用于帮助开发人员或系统管理员将复杂而又反复的操作放在一个文件中,通过简单的一步执行操作完成相应任务,从而解放负担。
2、shell 是软件也是语言。
软件:作为shell命令解析器(如sh、ash、bash(默认)),将脚本文件逐行解析执行。
语言:shell脚本语言,符合解析器的规则。它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支完成类似于windows下批处理操作,简化我们对系统的管理与应用程序的部署。
3、系统默认调用的两个脚本文件
这类脚本无需用户调用,系统会在合适的时候调用,如:/etc/profile、~/.bashrc等
/etc/profile:对系统的所有用户都有效,系统的公共环境变量在这里设置。用户登录系统的时候 执行。
~/.bashrc:用户自己的家目录中的.bashrc,对登录的用户有效,一般设置与个人用户有关的环境变量。用户登录、打开终端时调用。
以修改 ~/.bashrc为例:
家目录下能找到.bashrc
输入vim .bashrc命令:
在最后编辑打印echo "hello world" :
保存并退出
重新打开终端如图所示:
3、写脚本的步骤
第一步:#!/bin/bash(#!表示指明脚本命令解析器用bash)
第二步:写脚本,如echo "hello world"
第三步:给脚本增加 可执行权限:chmod +x 脚本文件
(u+x:所拥有者+x、g+x:同组用户+x、0+x:其他用户+x)
第四步:执行脚本文件
三种执行方式:
./00_shell.sh首先检测#!,使用#!指定的shell,如果没有使用系统默认的shell命令解释器
. 00_shell.sh不检测#!,使用系统当前shell读取解释00_shell.sh
bash 00_shell.sh不检测#!,直接指定使用bash解释00_shell.sh
用./和bash去执行会在后台启动一个新的shell去执行脚本
用.去执行脚本不会启动新的shell,直接由当前的shell 去解释执行脚本。
如果因格式导致执行shell出错,解决方法:
方法一:
sudo apt‐get install dos2unix
dos2unix 脚本文件
方法二:
用vim打开脚本,在最后一行模式下执行
:set ff=unix(指明为unix文件格式)
二、shell的自定义变量
1、定义变量
变量名=变量值,如num=10(无需标识数据类型及分号)