变量命名规则
只包含字母、数字和下划线: 变量名可以包含字母(大小写敏感)、数字和下划线 \*,不能包含其他特殊字符。
不能以数字开头: 变量名不能以数字开头,但可以包含数字。
避免使用 Shell 关键字: 不要使用 Shell 的关键字(例如
if、then、else、fi、for、while 等)作为变量名,以免
引起混淆。
使用大写字母表示常量: 习惯上,常量的变量名通常使
用大写字母,例如 PI=3.14。
避免使用特殊符号:
避免使用空格: 变量名中不应该包含空格,因为空格通
常用于分隔命令和参数。
your_name="f4uit" echo $your_name
for skill in im Coffe Action Java; do echo "I am good at ${skill}Script" done
判断一个变量是否大于 10
if [ $num -gt 10 ]; then echo "$num is greater than 10" fi
判断一个数是奇数还是偶数
#!/bin/bash
num=7
if [ $((num % 2)) -eq 0 ]; then
echo "$num is even"
else
echo "$num is odd"
fi
if - elif - else
#!/bin/bash
score=85
if [ $score -ge 90 ]; then
echo "A"
elif [ $score -ge 80 ]; then
echo "B"
elif [ $score -ge 70 ]; then
echo "C"
elif [ $score -ge 60 ]; then
echo "D"
else
echo "F"
fi
条件符号
-lt: 小于 -le: 小于等于 -eq: 等于 -ne: 不等于 -ge: 大于等于 -gt: 大于
循环结构
遍历一个数字列表并打印每个数字
for number in 1 2 3 4 5;do echo $number done
number 会依次取1、2、3、4、5,并在每次循环中通过echo 命令输出
遍历数组
fruits=("apple" "banana" "cherry")
for fruit in "${fruits[@]}"; do
echo $fruit
done
使用命令生成列表
for fruit in $(ls); do
echo $file
done
count 初始值为1,每次循环判断 count 是否小于等于 5,如果是则打印 count 的值,然后将 count 的值加 1。当 count 大于 5 时,循环结束
count=1
while [ $count -le 5 ]; do
echo $count
count=$((count + 1))
done
while read line; do
echo $line
done < file.txt
until #循环与while 循环相反, 它在条件为假时持续执行命令块,直到条件变为真
#计算从1 加到为某个数,直到总加大于等于 10 #sum 为 0, num 为 1,每次循环将num累加到sum中,并将num 加1, 直到sum 大于等于 10,循环结束后输出sum 的值。
sum = 0
num = 0
until [ $sum -ge 10 ]; do
sum=$((sum + num))
num=$((num + 1))
done
echo $sum
break ##跳出循环
for i in 1 2 3 4 5; do
if [ $i -eq 3 ]; then
break
fi
echo $i
done
continue
跳过当前循环的剩余部分,直接进入下一次循环
for i in 1 2 3 4 5; do
if [ $i -eq 3 ]; then
continue
fi
echo $i
done
用户输入:
读取用户输入:
read -p "请输入内容:" variable
-p 参数用于显示提示信息。
使用默认值:
read -p "请输入你的名字(默认为John Doe):" -i "John Doe" -n 1 name
如果用户直接按下回车键,将使用默认值"John Doe"。
限制输入长度:
read -n 5 name
限制用户输入的长度为5个字符。
读取密码
read -s -p "请输入密码:" password
-s 选项使得输入的字符不会在屏幕上显示。
读取整行输入:
read -r line
-r 选项防止反斜杠字符被解释为转义字符。
用户输入验证: 循环读取用户输入直到满足某个条件,例如验证邮箱地址是否有效。
循环读取用户输入: 循环读取用户输入直到用户输入特定值(如'q')退出程序。
读取多个值:
read first_name last_name
声明!
学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面链接进入b站主页B站泷羽sec