shell脚本的相关知识
本质:编程语言,shell命令的有序集合
编译型语言
示例:C/C++
支持:编译器支持
效率:高
解释型语言
示例:shell脚本,python,js
支持:命令解释器支持
效率:低
开始shell脚本编程
1.创建shell脚本文件,通常shell脚本文件的后缀.sh(windows中通常.bat文件)
2.开始编写shell脚本
2.1 在shell脚本的第一行写清楚该脚本的命令解释器路径
例如:#!/bin/bash
2.2 shell命令编写
3.执行shell脚本
3.1 修改文件的可执行权限,再去执行脚本
示例:
sudo chmod 0777 demo.sh
./demo.sh
3.2 利用命令解释器直接运行shell脚本
bash demo.sh
变量
一、变量
shell脚本中没有数据类型,所有数据皆理解为字符串类型
shell脚本中没有变量的定义过程,变量可以直接使用
1.用户自定义变量
1.1变量的命名规则
1. 以字母数字下划线组成
2. 不能以数字开头
3. 建议写为大写,避免和shell命令重名
1.2变量的使用
变量名=值
注意:
1.等号两端不能存在空格
2.单引号或者双引号包覆带空格的字符串
3.在双引号内可以引用其他变量
1.3变量的引用
$变量名
2.位置变量
0 1 2 3 4 5....
2.1 命令行参数
具体指在shell脚本运行时通过命令行给shell脚本传递的参数
示例:
执行名为demo.sh的脚本文件
bash demo.sh hello world
$0指demo.sh
$1指hello
$2指world
2.2 shell函数的参数
在shell函数中没有具体的形式参数说明,则位置变量指代实际参数的位置
示例:
脚本文件内容为:
func()
{
echo $1
echo $2
}
func hello world
则
$1指hello
$2指world
3.预定义变量
$#:命令行参数个数(不包含$0)
$*:所有的命令行参数
$@:所有的命令行参数
$$:执行该脚本的进程的进程ID
$?:获取上一条shell命令运行的结果(不是输出结果)
在shell脚本中0为真,1为假
4.环境变量
$HOME:用户的用户主目录
$USERNAME:用户名
$SHELL:命令解释器路径
$PATH:shell的搜素路径