学习Linux上的Shell脚本编程
Shell脚本是Linux系统中非常重要的一部分,可以用于自动化和批量化执行操作,提高工作效率。本文将介绍Shell脚本编程基础知识,包括变量、条件语句、循环、函数等内容,帮助读者了解Shell脚本编程的基础知识。
Shell脚本语言
在Linux系统中,每一条命令都是由一些小程序或其它命令组合而成的,这些小程序称之为“命令行解释器”,其中Bash又被称为Bourne-Again Shell,是目前使用最广泛的一种Unix Shell。所以,使用Bash编写的脚本称之为“Shell脚本”,也就是导航到脚本文件所在目录,在命令行输入“./脚本文件名.sh”即可执行脚本程序。
Shell脚本可以包含两种命令:内置命令和外部命令。
内置命令是Shell自带的命令,如echo、cd、pwd等,使用时不需要添加命令的路径。
外部命令是可执行的二进制文件或可执行的脚本文件,如ls、grep、awk、sed等,使用时需要在命令前加上命令的完整路径或者将相应的目录添加到PATH环境变量中。
Shell脚本编程基础
定义变量
变量是Shell脚本中最基础的元素之一,可以用于存储临时数据。Shell脚本中的变量都是以“$”开头的。定义变量可以使用以下语法:
variable_name=value
其中,variable_name表示变量名,value表示变量的值。变量名只能包含字母、数字和下划线,且不能以数字开头。变量名与值之间可以使用等号”=”或空格” “进行赋值。
例如:
name="Jack"
age=30
还可以使用”read”命令从命令行中读取输入值,并将它赋值给变量,如:
read name
echo "Hello, $name"
条件语句
条件语句是Shell脚本中最常用的语句之一,可以用于根据不同的条件执行不同的操作。Shell脚本中常用的条件判断分别是“if”、“else”、“elif”、“case”等。
if语句的基本格式如下:
if [ condition ]
then
command1
command2
...
else
command3
command4
...
fi
其中,condition表示待判断的条件,command1、command2表示满足条件时需要执行的命令,command3、command4表示不满足条件时需要执行的命令。
elif语句用于多个条件判断,可以避免过多的嵌套。例:
if [ $score -ge 90 ]
then
echo "优秀"
elif [ $score -ge 80 ]
then
echo "良好"
elif [ $score -ge 70 ]
then
echo "中等"
else
echo "不及格"
fi
case语句用来进行多重分支判断,例:
case "$variable" in
value1) command1;;
value2) command2;;
value3) command3;;
*)
default_command;;
esac
循环语句
循环语句在Shell脚本编程中也非常常用,可以用于重复执行一段内容,常用的循环语句有”for”和”while”。其中,”for”为计数循环,循环次数已知;”while”为条件循环,循环次数不确定。
for语句格式如下:
for variable_name in item1 item2 item3 ... itemN
do
command1
command2
...
done
其中,item1、item2、item3是循环的内容,变量variable_name用来存储每次循环的值。
while语句用法如下:
while [ condition ]
由于CentOS官方已全面停止维护CentOS Linux项目,公告指出 CentOS 7和8在2024年6月30日停止技术服务支持,详情见CentOS官方公告。
导致CentOS系统源已全面失效,比如安装宝塔等等会出现网络不可达等报错,解决方案是更换系统源。输入以下命令:
bash <(curl -sSL https://linuxmirrors.cn/main.sh)
然后选择中国科技大学或者清华大学,一直按回车不要选Y。源更换完成后,即可正常安装软件。
如需了解更多信息,请访问: 查看CentOS官方公告