1.Shell基本语法
1.注释:以#
符号开始,直到行末,用于解释代码或暂时禁用某行代码。
2.命令:如echo
、ls
等,用于执行系统命令或调用外部程序。
3.控制结构:包括if
语句、for
循环、while
循环等,用于控制脚本的流程。
2.创建和执行脚本
1.创建脚本文件:使用文本编辑器(如vim、nano等)创建脚本文件,通常命名为xxx.sh
。
2.指定解释器:脚本的第一行通常是#!/bin/bash
(或其他Shell路径),指定了执行该脚本时
使用的解释器。
3.保存脚本:将编辑好的脚本内容保存至文件中。
4.添加执行权限:通过chmod +x xxx.sh
命令给脚本文件添加可执行权限。
5.执行脚本:在脚本文件所在的目录下,通过./xxx.sh
命令执行脚本。
3.变量和命令
1.变量定义:变量名=值(注意等号两边不能有空格),如a=0
。
2.使用变量:通过$变量名
来引用变量的值,如echo $a
3.输入
3.1从命令行读取参数:$1
、$2
等,分别代表第一个、第二个参数。
3.2从用户读取输入:使用read
命令。
4.输出
4.1echo:用于打印字符串。如果字符串中包含变量,使用$变量名
来打印变量的值。
4.2单引号''
:里面的内容会被当作普通字符串处理,变量不会被解析。
4.3双引号""
:里面的内容会被处理,变量会被解析为其值。
4.4反引号:`命令`
(注意不是单引号),会执行其中的命令并将输出结果替换到当前位置。
4.Shell脚本比较运算符
-eq
:等于-ne
:不等于-gt
:大于-lt
:小于-ge
:大于等于-le
:小于等于
5.expr
Shell脚本中可以使用expr
命令进行基本的算术运算,但需要注意乘法运算符*
在expr
中需要转义(\*
),或者将表达式放在双引号中以避免被Shell解释。
6. if-else 语句
if [ 条件表达式 ]
then
# 条件为真时执行的命令
else
# 条件为假时执行的命令
fi
#!/bin/bash
if [ $a -eq $b ]
then
echo "a 等于 b"
else
echo "a 不等于 b"
fi
7. while 语句
while [ 条件表达式 ]
do
# 执行的命令
done
#!/bin/bash
count=1
while [ $count -le 5 ]
do
echo "这是第 $count 次循环"
count=$((count + 1))
done
8. for 语句
for 变量 in 列表
do
# 执行的命令
done
#!/bin/bash
for i in 1 2 3 4 5
do
echo "这是 $i"
done
9. case 语句
case 变量 in
模式1)
# 命令...
;;
模式2)
# 命令...
;;
*)
# 默认命令
;;
esac
read num
case $num in
1) echo "你选择了 1";;
2) echo "你选择了 2";;
*) echo "无效选择";;
esac
10. until 语句
until [ 条件表达式 ]
do
# 执行的命令
done
count=1
until [ $count -gt 5 ]
do
echo "这是第 $count 次循环"
count=$((count + 1))
done