脚本(Script),是使用一种特定的描述性语言,依据一定的格式编写的 可执行文件
【资料图】
脚本须有 可执行权限,即 x权限
内容格式:以
#!/bin/bash
开头
赋予脚本可执行权限:
chmod u+x [脚本]
在 有可执行权限的前提下,使用
./[脚本]
或 直接输入脚本的绝对路径[绝对路径]
即可运行脚本
直接使用
sh [脚本]
命令运行脚本
Linux shell 的变量分为 系统变量和 用户变量
常见系统变量:\$HOME 、\$PWD 、\$PATH 、\$USER 、$SHELL 等
set 查看当前shell中所有变量 unset [变量] 撤销变量 echo $[变量] 查询变量的值
与其他语言规则大同小异
注意:等号两侧 不能有空格
变量名一般习惯为大写(约定俗成)
1. 定义变量:
[变量名]=[值]
(中间不能有空格)2. 撤销变量:
unset [变量]
3. 定义静态变量:
readonly [变量名]=[值]
(静态变量不能被撤销,即不能被 unset )4. 将命令的结果赋给变量:[变量名]=`[命令]`或
[变量名]=$([命令])
(第一种写法中 ` 号为 tab 键上面的键5. 输出变量时带上 $符号,即
echo $[变量]
例如:
传参,输出:
例如:
注意:第二行 &符号表示 以后台方式运行
输出:
:<
[变量]=$(([表达式]))
[变量]=$[[表达式]]
[变量]=`expr[简单表达式]`
!!!注意:`号为反引号
数字与符号 间有空格
* 号前必须带转义字符 \
[ condition ]
// 非空 返回 true ,空 返回 false可用
echo $?
查询上一条判断是否执行成功( 0 为 true ,>1 为 false )注意:condition 前后有 空格
[ condition ] && [语句1] || [语句2]
若 condition 满足,则执行语句1
= 字符串比较
-lt 小于(less than)
-le 小于等于(less equal)
-eq 等于(equal)
-gt 大于(greater than)
-ge 大于等于(greater equal)
-ne 不等于(Not equal)
-r 有读的权限(read)
-w 有写的权限(write)
-x 有执行的权限(execute)
-f 文件存在并且是一个常规的文件(file)
-e 文件存在(existence)
-d 文件存在并是一个目录(directory)
!!!注意:condition 前后必须有 空格,即使没有 condition 也要有空格
#单分支if [ condition ]then [符合该条件执行的语句]fi
例如:
#多分支if [ condition ]then [符合该条件执行的语句]elif [ condition ]then [符合该条件执行的语句]else [符合该条件执行的语句]fi
例如:
case $1 in"[条件]") [符合该条件执行的语句];; // ;; 符号代表 结束"[条件]") [符合该条件执行的语句]*) //如果没有符合上面条件的值,则执行这段代码 [符合该条件执行的语句]esac
例如:
输出:
for [变量] in [值]do[代码块]done
例如:
for (([初始值];[循环控制条件];[变量的变化]))do[代码块]done
例如:
while [ 条件 ] //注意 条件 前后有空格do[代码块]done
例如:
read -p "[提示语]" 指定输入时的提示语 read -t [秒] 指定输入的等待时间
例如:
basename [文件路径] 获取文件名 basename [文件路径] [后缀] 获取文件名(不带后缀)
例如:
dirname [文件绝对路径] 获取文件的路径
例如:
function [函数名]{[代码块]}
例如:
[函数名] [参数]
例如: