前置基础:Shell 是什么
- Shell:系统外壳,用户和内核之间的交互程序
- 主流类型:
bash(最常用,CentOS/Ubuntu 默认)、sh、zsh - 查看当前 shell:
echo $SHELL - 终端提示符含义:
root@localhost#超级管理员user@localhost$普通用户
学习Linux Shell 是一个逐步积累的过程,通过实践可以快速提升你的技能。这里我将为你提供一个简单的入门级Linux Shell脚本练习脚本,这将帮助你熟悉基本的Shell命令和脚本编写。
练习 1:变量 + 输入输出(test1.sh)
-
打开你的文本编辑器,比如使用
nano或vim。bashnano test1.sh -
在打开的编辑器中,输入以下内容:
bash#!/bin/bash echo "请输入你的名字:" read name age=25 echo "你好${name},今年${age}岁" -
保存并关闭编辑器。如果你使用的是
nano,可以通过按Ctrl + O保存,回车确认保存,然后按Ctrl + X退出。
bash
chmod +x test1.sh && ./test1.sh
练习 2:if 数字判断(test2.sh)
bash
#!/bin/bash
read -p "输入一个数字:" num
if [ $num -gt 10 ];then
echo "大于10"
elif [ $num -eq 10 ];then
echo "等于10"
else
echo "小于10"
fi
练习 3:for 循环遍历(test3.sh)
bash
#!/bin/bash
# 遍历1-5
for i in {1..5}
do
echo "循环第$i次"
done
# 遍历文件夹文件
for file in ./*
do
echo "文件:$file"
done
练习 4:while 循环(test4.sh)
bash
#!/bin/bash
i=1
while [ $i -le 3 ]
do
echo "while循环$i"
i=$((i+1))
done
练习 5:脚本传参(test5.sh)
调用格式:./test5.sh 苹果 香蕉
bash
#!/bin/bash
echo "脚本名:$0"
echo "第一个参数:$1 第二个:$2"
echo "总参数个数:$#"
练习 6:简单函数(test6.sh)
bash
#!/bin/bash
say_hello(){
echo "Hello Shell"
}
# 调用函数
say_hello
练习 7:实战小脚本・清理 7 天前日志(clean_log.sh)
bash
#!/bin/bash
log_path="/tmp/log"
find $log_path -name "*.log" -mtime +7 -rm
echo "7天前旧日志清理完成"