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/ 目录下,方便系统全局调用(无需输入完整路径)。
相关推荐
leisoo809711 分钟前
100GBA股股票数据怎么存ClickHouseRedisMySQLJSON完整对比
大数据·linux·服务器·开发语言·python
爱喝水的鱼丶1 小时前
SAP-ABAP:接口与报表场景专项优化:RFC/ODATA 接口、ALV 报表的性能提升方案
运维·性能优化·接口·sap·abap·rfc·经验交流
青瓦梦滋1 小时前
传输层UDP/TCP协议
linux·网络·c++·网络协议·tcp/ip·udp
ltl1 小时前
机密计算:SGX、SEV-SNP、TDX 与 ARM CCA
linux
ltl2 小时前
互联与网络:NVLink、InfiniBand、RoCE 与国产替代
linux
码上上班2 小时前
tengine知识点
linux·服务器·centos
画中有画2 小时前
自动化脚本开发最佳实践
运维·自动化
雾时之林4 小时前
Linux--软件管理、源码包安装
linux·服务器·数据库
江南风月4 小时前
如何使用WGCLOUD实现智能运维
运维·zabbix·运维开发·prometheus
xiaoxiangsiyan5 小时前
HCIA 网络技术基础核心模块详解
运维·网络·网络协议·tcp/ip·运维开发·网络基础