Linux怎么创建Shell脚本.sh文件

在 Linux 系统中如何创建 Shell 脚本文件,下面跟着博主一起来创建试试:

文章目录

一、创建 Shell 文件的三种常用方法

在 Linux 中创建 Shell 文件主要有两种方式,核心是用文本编辑器新建文件并写入内容,下面以我们上一步的 test.sh 为例演示:

方法1:用 vim 编辑器创建(最常用,适合编辑复杂脚本)

vim 是 Linux 自带的文本编辑器,操作步骤如下:

bash 复制代码
# 1. 新建并打开 Shell 文件(如果文件不存在则创建,存在则打开)
vim /usr/local/bin/test.sh

# 2. 进入编辑模式:按下键盘上的 i 键(左下角会显示 INSERT)
# 3. 粘贴/输入上一步给你的备份脚本内容(直接复制粘贴即可)
# 4. 保存并退出:
#    先按 Esc 键退出编辑模式 → 输入 :wq → 按回车键(:w 是保存,:q 是退出,:wq 是保存并退出)

方法2:用 nano 编辑器创建(新手友好,操作简单)

如果觉得 vim 操作复杂,nano 是更易上手的编辑器,步骤如下:

bash 复制代码
# 1. 新建并打开 Shell 文件
nano /usr/local/bin/test.sh

# 2. 直接输入/粘贴脚本内容(无需切换模式,打开就能编辑)
# 3. 保存并退出:
#    按 Ctrl+O → 按回车键确认保存 → 按 Ctrl+X 退出编辑器

方法3:快速创建空文件(先建空文件再编辑)

如果只是先创建空文件,后续再补充内容,可用以下命令:

bash 复制代码
# 方式A:touch 命令(仅创建空文件,不打开编辑)
touch /usr/local/bin/test.sh

# 方式B:重定向创建(echo 空内容到文件,同样创建空文件)
echo "" > /usr/local/bin/test.sh

# 创建空文件后,再用 vim/nano 编辑内容
vim /usr/local/bin/test.sh

二、创建后必做的关键步骤

  1. 赋予执行权限(否则脚本无法运行):
bash 复制代码
chmod +x /usr/local/bin/test.sh
  • chmod +x 表示给文件添加「可执行」权限,这是 Shell 脚本能运行的前提。
  1. 验证文件是否创建成功:
bash 复制代码
# 查看文件是否存在
ls -l /usr/local/bin/test.sh

# 输出示例(有 x 表示有执行权限):
# -rwxr-xr-x 1 root root 1234 Jan  6 10:00 /usr/local/bin/test.sh

三、新手注意事项

  1. Shell 文件的后缀 .sh 不是必须的,但加上后更易识别,建议保留;
  2. 脚本第一行建议写 #!/bin/bash(指定解释器),否则可能因系统默认解释器不同导致运行异常;
  3. 编辑时注意路径正确性 :比如 /usr/local/bin/ 目录需要确保存在(不存在则用 mkdir -p /usr/local/bin 创建);
  4. 粘贴内容时如果格式乱了,可先在本地编辑器(如记事本)整理好,再复制到 Linux 终端。

四、快速测试脚本是否能运行

创建并赋予权限后,可直接执行脚本验证:

bash 复制代码
# 执行脚本
/usr/local/bin/test.sh

# 如果脚本有输出(比如「开始备份数据库」),说明文件创建和权限都没问题

五、总结

  1. 创建 Shell 文件核心是用 vim/nano 编辑器新建文件并写入内容,新手优先用 nano,熟悉后用 vim;
  2. 创建后必须执行 chmod +x 文件名 赋予执行权限,否则脚本无法运行;
  3. 建议将脚本放在 /usr/local/bin/ 目录下,方便系统全局调用(无需输入完整路径)。
相关推荐
叼烟扛炮4 分钟前
Linux 学习笔记(三十八):从实模式到分页——处理器内存管理的发展史
linux·运维·服务器
2401_868534785 分钟前
论智慧医院网络建设
服务器·网络
润滑卫士20 分钟前
油液水分在线传感器技术对比:电容法、电阻法与微波法的测量原理与适用性
运维
Decay__20 分钟前
附-01 · MySQL 压测与容量规划 —— sysbench 基准测试、容量评估与参数基线
运维·数据库·sql·mysql·架构
mennekes38 分钟前
暗装插座箱 VS 明装插座箱,工地和车间怎么取舍
运维·网络·科技·安全·制造
叼烟扛炮39 分钟前
Linux 学习笔记(三十六):并发进阶——读写锁 vs 自旋锁,到底怎么选?
linux·运维·服务器·笔记·学习
qq_3646821540 分钟前
录音APP怎么切换语言?多语言版本如何使用
java·服务器·前端
正经教主1 小时前
【FDE系列】阶段2:Day 43(UP详细版):Docker Compose — 多容器一键编排
运维·docker·容器
大耳朵爱学习1 小时前
Andrew Ng深度解析:普通人如何利用AI把想法变成工具,实现工作自动化(小白程序员必看)
运维·人工智能·ai·自动化·大模型·就业·大模型学习
木雷坞1 小时前
AnythingLLM Docker部署:中文资料上传后无引用的检查路径
运维·docker·容器