声明
通过学习 泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频,做出的文章如涉及侵权马上删除文章
笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负
if for while循环
1.if条件
vim 1.sh#!/bin/bash
# 定义变量
a=10
b=20
# 进行条件判断
if [ "$a" -eq "$b" ]; then
echo "a=b"
elif [ "$a" -gt "$b" ]; then
echo "a>b"
else
echo "没有符合上述条件"
fi
#定义变量
a=10
b=20
这部分代码定义了两个变量 a 和 b,并分别给它们赋了。
在这里,a 被赋值为 10,b 被赋值为 20。
在 bash脚本中,通过这种简单的 "变量名 = 值" 的形式就可以完成变量的定义和赋值操作。
进行条件判断
if [ "$a"-eq "$b" ]; then
echo"a=b"
elif [ "$a"-gt "$b" ]; then
echo"a>b"
else
echo"没有符合上述条件"
fi
首先指定使用 bash 作为脚本解释器,接着定义了两个变量 a 为 10、b为20,然后通过条件判断来比较 a 和 b 的值。 若 a 等于 b ,就输出 "a=b" 若 a 大于 b ,就输出 "a>b" 若前面两种情况都不成立,就输出 "没有符合上述条件"
进行条件判断
if ["$a"-eq "$b" ]; then
echo"a=b"
elif ["$a"-gt "$b" ]; then
echo"a>b"
elif ["$a"-lt "$b" ]; then
echo"a <b"< span> </b"<>
else
echo"没有符合上述条件"
fi
在原有的 if - elif - else 结构基础上,新增了一个elif 条件判断分支: 新增的条件判断语句为 elif ["$a"-lt "$b"]; then 其目的是判断变量 a 的值是否小于变量 b 的值。如果满足该条件就会执行后续的 echo "a <b"<="" span>
2.for循环结构
方法一、首先新建一个 1.sh
vim 2. sh
for num in 1 2 3 4 5:
do
echo"The number is $num"
done
整体结构 这是一段使用 for 循环的代码片段,常见于 Shell 脚本(如 bash 脚本)中,用于对一系列的值进行迭代操作循环语句
for num in 1 2 3 4 5 for: 是循环的关键字,用于开启一个 for 循环结构 num: 定义了一个循环变量,在每次循环迭代过程中,这个变量会被赋予不同的值。 in 1 2 3 4 5: 指定了一个值的列表,循环变量num 将会依次取这个列表中的每一个值。也就是说,在这个例子中,num 会先被赋值为 1,然后进行第一次循环;接着 num 会被赋值为 2,进行第二次循环,以此类推,直到 num 取完列表中的最后一个值 5。
循环体 do: 是与 for 循环起始语句配合使用的关键字,它标志着循环体的开始。在 do 和后面的 done 之间的语句就是每次循环时需要执行的操作。
输出语句 echo "The number is $num": echo: 是一个用于在终端输出信息的命令 "The number is $num": 这是一个要输出的字符串,其中 $num 是对前面定义的循环变量 num 的引用。当循环进行时,每次 num 被赋予不同的值,这里就会输出不同的结果。例如,当 num 被赋值为1时,就会输出 "The number is 1";当 num 被赋值为 2 时,就会输出 "The number is 2" ,依此类推。
循环结束 done: 是for循环的结束关键字,它标志着整个 for 循环过程结束。
总体来说,这段代码的功能就是遍历给定的数字列表 1、2、3、4、5,并在每次遍历到一个数字时,通过 echo 命令输出包含该数字的字符串信息,如 "The number is 1" 、"The number is 2" 等
方法二、首先新建一个 1.sh
for str in"hello wold"
do
echo$str
done
循环语句 for str in "hello wold"for: 这是循环的关键字,用于启动一个 for 循环结构。 str: 定义了一个循环变量,在循环过程中,这个变量会被赋予不同的值。 "hello wold": 这里指定了一个值的列表,不过在这个例子中,列表里只有一个元素,就是字符串 "hello wold"。所以在整个循环过程中,循环变量 str 只会被赋值这一次,也就是取到的值为“hello wold"。
循环体与输出语句 do: 是与 for 循环起始语句配合使用的关键字,它标志着循环体的开始,在 do 和后面的 done 之间的语句就是每次循环时需要执行的操作。 echo Sstr:echo: 是用于在终端输出信息的命令 $str: 是对前面定义的循环变量 str 的引用。由于在这个循环中,str 只被赋值为 "hello wold",所以当执行 echo $str 时,就会在终端输出 "hello wold"。 循环结束 done: 是 for 循环的结束关键字,它标志着整个 for 循环过程结束
总体而言,这段代码的功能就是将字符串 "hello wold" 赋值给循环变量 str,然后通过 echo 命令将其输出到终端。
3.for循环 例子
首先进入 bash 创建一个文件 如 vim 1.sh代码如下:
for i in `seq 1 100`
do
echo$i
done
或者
for i in $(seq 1 100)
do
echo$i
done
进入到 bash 环境下 然后执行代码,这两种写法的功能都是一样的都是让i依次取从 1到 100 的值,然后在每次循环中打印出i的值。
for((i=1; i<100; i++))
do
echo$i
done
在 for 循环的双括号语法(())中: 初始化部分i=1 是给循环变量i赋初值为 1。 条件判断部分 i< 100 表示只要i的值小于 100,循环就会继续执行。 迭代部分 i++ 是每次循环结束后让 i 的值自增 1,这样就能实现从 1开始,每次增加 1,直到 i 达到 99(因为当i等于100 时就不满足 i< 100 这个条件了),并在每次循环中通过echo 输出 i 的当前值。
4.while循环
方法一:
i=1
while (( $i<=10 ))
do
echo$i
((i++))
done
变量初始化:首先通过 i=1 这一行,将变量 ì初始化为 1,为后续的循环操作确定起始值。
循环条件判断:while(( $i<=10))是循环的条件判断部分。这里使用了双括号 (()) 语法,它用于进行算术表达式的计算和判断。在每次循环开始前,都会检查 i 的值是否小于等于 10。只要这个条件满足,循环体内部的代码就会被执行
循环体执行内容:在循环体内部,首先通过 echo $i 这一行,将当前i的值输出到控制台,这样就可以看到循环过程中i的变化情况。 接着,通过((i++))这一语句对变量 i 进行自增操作。这里的 (()) 语法同样用于算术运算,i++表示将 i的值增加 1。每次循环结束后,i 的值就会比上一次循环时增加 1,以便在下次循环开始时进行新的条件判断。
方法二:
i=1
while(( $i<=10 ))
do
echo$i
let"i++"
done
变量初始化与循环条件判断:这部分和第一种实现方式完全相同。先是通过i=1初始化变量i,然后通过 while(($i<=10))来判断循环是否继续进行,只要i的值小于等于 10,循环就会持续。
循环体执行内容:同样,在循环体中首先通过 echo $i 输出当前 i的值。 不同之处在于对变量 ;进行自增操作的语句。这里使用了let 命令,let "i++" 的作用也是将变量 i 的值增加 1。let 命令用于执行算术运算,它可以接受一个或多个算术表达式作为参数,并对相关变量进行相应的运算操作
总的来说,这两种实现方式都能达到通过 while循环输出1到10的整数的目的,只是在对变量进行自增操作时使用了不同的语法形式,但它们的功能是等效的。
原文始发于微信公众号(泷羽Sec- 火乐):红队-shell编程基础(六)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论