脚本(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 [函数名]{
[代码块]
}
例如:
[函数名] [参数]
例如:
手机扫一扫
移动阅读更方便
你可能感兴趣的文章