bash网络安全运维
目录
一、bash入门
1.1 输出
echo "hello,world"
printf "hello,world"
1.2 变量
# 使用等于号=定义变量
MYVAR=textforvalue
# 使用$调用变量
echo $MYVAR
# 字符串需使用引号,双引号中的$会被识别为变量,单引号不会
var1="hello world"
var2='hello world'
# 可以使用$()存储shell的输出
pathVar=$(pwd)
# 位置参数,$1表示传递给脚本的第一个参数,$2第二,依次类推
# $0 是一个特殊的变量,它保存脚本的名字
# $# 返回参数的总数
# $? 返回上一次命令执行的结果,0为成功,非0代表有错
1.3 输入
bash 中通过 read 接收用户输入。read从stdin获取用户输入
read MYVAR
echo $MYVAR
1.4 条件语句
if cmd
then
some cmds
else
other cmds
fi
1.4.1 if 判断
测试文件是否存在:
if [[ -e $FILENAME ]]
then
echo $FILENAME exists
fi
文件测试操作符 | 使用说明 |
---|---|
-d | 测试目录是否存在 |
-e | 测试文件是否存在 |
-r | 测试文件是否存在且可读 |
-w | 测试文件是否存在且可写 |
-x | 测试文件是否存在且可执行 |
检测变量 $VAL 是否小于变量 $MIN:
if [[ $VAL -lt $MIN ]]
then
echo "value is too small"
fi
1.4.2 数值判断
数值测试操作符 | 使用说明 |
---|---|
-eq | 是否相等 |
-gt | 是否大于 |
-lt | 是否小于 |
在双圆括号中,将执行数值化的逻辑,任何非0值都被认为是true
比如 if (($?)),只有当前一个命令失败的时候,$?为非0值,这里(($?))表示true,if将得以执行。
1.4.3 多命令执行
两个命令之间通常使用换行符分隔,
也可使用 && 或 || 分隔,
cd $DIR && ls # 只在cd成功时才执行ls
cd $DIR || echo "failed" # 只在cd 失败时才执行echo
# 如果有多个语句需用大括号分组
[[ -d $DIR ]] || { echo "error"; exit; }
1.5 循环
1.5.1 while循环
i=0
wihle (( i <= 10 ))
do
echo $i
let i++
donw
1.5.2 for 循环
for ((i=0; i<10; i++))
do
echo $i
done
1.5.3 参数循环
for canshu
do
echo here is an argument: $canshu
done
1.6 函数
# function 和 () 有一个即可,但为了可读性,推荐都使用
function myfun()
{
echo here is some statements
}
myfun
myfun
有了计划记得推动,不要原地踏步。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)