赞
踩
目录
Shell是一个命令行解释器,它接受应用程序/用户命令
Linux提供Shell解析器
子shell概念
脚本要以#!/bin/bash开头指定解析器
echo表示输出
执行方法
sh+ 脚本的相对路径或绝对路径 ps:打开子shell来执行
bash+脚本的相对路径或绝对路径 ps:打开子shell来执行
. 命令.sh 启动sh文件 ps:当前shell执行
source 命令 跟sh和bash一样 ps:当前shell执行
直接执行,需要加权限,并且不能在命令的目录直接执行
1) 常用系统变量
env 查看所有的环境变量
printenv 环境变量 产看环境变量
set 显示当前shell种所有变量
基本语法
变量定义规则
设置变量
进入bush
export 变量 设置成静态变量 ps两个bash进程里面变量不互通
n表示未数字,$0表示该脚本的名称,$q-$9代表第一到第九个参数,10个以上的参数需要使用${10}
表示获取输入参数的个数,用于循环,或者判断是否正确
$* 表示这个变量代表命令冲所有参数,$*把所有的参数看成一个整体
$@ 代表这个变量也代表命令种所有参数,不过$@把每个参数区别对待 可以循环遍历
返回最后一次执行的命令状态,如果变量值未0,证明上一个正确,否则不正确
expr a + b 每一个字符都需要空格才能识别 ,*需要做转义\
echo $((运算式))或$[运算式]
写一个add.sh脚本
记得开启可执行
-a表示逻辑与 -o表示逻辑或
test 条件表达式 0为真 1为假
[条件表达式] ps:注意空格
两个数进行比较
判断权限
判断文件类型
多级测试 三元运算符
1.单分支
if[ 条件判断 ]; then 程序
fi
或者
if[ 条件判断 ]
then
程序
fi
2.多分支
if[条件表达式]
then
程序
elif [条件判断式]
then
程序
else
程序
fi
多分支脚本
实现
语法
case $变量 in
"值1”)
相等就执行
;; //表示一个case值厉结束
"值2”)
相等就执行
;;
*)
兜底的方法
;;
esac
举例 [里面支持正则表达式]
结果
语法1
for ((初始化;循环控制条件;变量变化))
do
程序
done
举例
结果
语法2
ps:$@和$*的区别
不加引号
语法
while [ 条件判断式 ]
do
程序
done
read (选项) (参数)
选项
参数
结果
等三秒会自动执行,如果输入内容会提前执行
basename [第一个参数] [第二个参数] 字符串切割,basename识别第一个参数最后一个/后面的值,第二个参数表示从外部去除第一个参数后面
dirname文件绝对路径
语法:
[ function ] funname[()]
{
Action;
[return int;]
}
举例
结果
cut [选项] 文本文件或管道
参数
切割ip地址命令
ifconfig ens33 | grep netmask | cut -d " " -f 10
awk [选项参数] '/pattern1/{action} /pattern1/{action}'
pattern 表示awk在数据上查找的内容
action 在找到的匹配执行命令
参数
举例
awk内置变量
切割ip
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。