Shell学习笔记

2021/10/24 Shell
# #! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行
#!/bin/bash
1
2

# 变量

# 定义变量,变量名和等号之间不能有空格
your_name="runoob.com"
# 使用变量
echo ${your_name}
1
2
3
4

# 数组

# 定义数组
array_name=(value0 value1 value2 value3)
# 获取数组长度
length=${#array_name[@]}
# 读取数组元素
value0=${array_name[0]}
1
2
3
4
5
6

# 条件结构

单分支

if [ $num -eq 0 ]
then
	echo "num 等于 0"
fi
1
2
3
4

双分支

if [ $num -eq 0 ]
then
	echo "num 等于 0"
else 
	echo "num 不等于 0"
fi
1
2
3
4
5
6

多分支

if [ $num -gt 0 ]
then
	echo "num 是正数"
elif [ $num -lt 0 ]
then
	echo "num 是负数"
else 
	echo "num 等于 0"
fi
1
2
3
4
5
6
7
8
9

# 循环结构

for num in 1 2 3 4 5
do
    echo "The value is: $num"
done
1
2
3
4
i=1
while(( $i<=5 ))
do
    echo $i
    let "i++"
done
1
2
3
4
5
6

# 文件操作

for line in `cat filename(待读取的文件)`
do
	echo $line
done
1
2
3
4

# echo

# 带颜色输出
echo -e "\033[30m 黑色字 \033[0m"
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[32m 绿色字 \033[0m"
echo -e "\033[33m 黄色字 \033[0m"
echo -e "\033[34m 蓝色字 \033[0m"
echo -e "\033[36m 天蓝字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
1
2
3
4
5
6
7
8

# exit

exit 是一个 Shell 内置命令,用来退出当前 Shell 进程,并返回一个退出状态;使用 $? 可以接收这个退出状态。

exit 接受一个整数值作为参数,代表退出状态。如果不指定,默认状态值是 0。

exit 只能是一个介于 0~255 之间的整数,其中只有 0 表示成功,其它值都表示失败。

可以结合 if-else 语句实现判断上一个命令是否执行成功。

git clone xxx

if [ $? -ne 0 ]; then 
    echo "faild"
else
    echo "success"
fi
1
2
3
4
5
6
7

Shell 教程 | 菜鸟教程 (opens new window)