
每天分享技术栈,开发工具等
好嘞,接下来我们就「接上文内容」,继续完善这篇《一行一行教你搞定 Shell 脚本基础,别再死记硬背了》。这一次我们加上「更详细的“创建文件”步骤」,让你从“完全不会”变成“我也能写 Shell 脚本”,不跳步骤、不讲空话,一步步带你走。
很多小白第一步就懵了:“我到底在哪儿写这些脚本啊?”
别急,我们从最原始的做法开始。
ssh登录远程服务器nano(新手更友好)我们习惯把所有脚本放在 ~/scripts这个目录下(统一管理,方便找)
mkdir -p ~/scripts
cd ~/scripts
如果你是第一次写 Shell 脚本,建议你就放这里,不容易弄丢。
使用 vim 打开一个文件:
vim hello.sh
如果你对 vim 不熟,可以先按 i进入插入模式,再粘贴下面的内容:
#!/bin/bash
echo"你好,Shell 脚本!"
然后按以下操作退出:
Esc:wq(代表保存并退出)文件就保存好了!
这个很关键,很多人写好后直接运行,结果提示“Permission denied”。
所以必须这样:
chmod +x hello.sh
现在就可以运行它了!
./hello.sh
输出结果:
你好,Shell 脚本!
恭喜你,第一个脚本写好了!
错误提示 | 原因 | 解决办法 |
|---|---|---|
command not found | 少了 ./ | 用 ./hello.sh运行脚本 |
Permission denied | 没有执行权限 | 加上 chmod +x hello.sh |
No such file or directory | 文件名输错/路径错了 | 用 ls查一下文件是否在当前目录 |
现在我们来写第二个脚本,名叫 name_check.sh,这个会用上用户交互。
cd ~/scripts
vim name_check.sh
按 i进入插入模式,粘贴以下内容:
#!/bin/bash
read -p "请输入你的名字:" name
if [ "$name" == "root" ]; then
echo"欢迎管理员大人!"
else
echo"你好,$name"
fi
保存退出(Esc → :wq→ 回车)
chmod +x name_check.sh
./name_check.sh
你会看到:
请输入你的名字:jack
你好,jack
如果你输入 root:
请输入你的名字:root
欢迎管理员大人!
这就用到了 Shell 的变量 + 用户输入 + 条件判断三大基础!
不建议乱放脚本,因为后期脚本会多,建议你这样分类管理:
~/scripts/
├── base/ # 基础脚本(练手)
├── monitor/ # 监控类脚本(磁盘、内存、服务)
├── backup/ # 备份类脚本(数据库、配置文件)
├── deploy/ # 部署脚本(批量安装、环境配置)
比如你写的是入门基础脚本,就可以:
mkdir -p ~/scripts/base
mv hello.sh name_check.sh ~/scripts/base/
后面脚本多了,你会感谢现在分类的自己!
mkdir -p ~/scripts cd ~/scriptsvim hello.sh:wqchmod +x hello.sh./hello.sh运行你已经完成了这些核心操作:
:wq)chmod +x)「这些,都是写好 Shell 脚本的起点」,别着急学 cron、函数、日志管理……先把这些搞熟,写个 5~10 个脚本练练手,你就已经比一半 DBA 更进了一步!