avatar

mdo

Hello

  • 首页
  • 知识库
  • 归档
  • 标签
  • 关于
主页 ubuntu 自定义指令 执行脚本
文章

ubuntu 自定义指令 执行脚本

发表于 2026-06-17 更新于 2026-06- 17
作者 mdo
5~6 分钟 阅读

在 Ubuntu 中自定义指令并执行脚本,最标准、优雅的方法是编写脚本、赋予执行权限,然后将其路径添加到系统的环境变量目录中。这样,你就可以在终端的任何位置直接输入指令名来运行脚本。 [1]

按照以下步骤操作,即可完成自定义指令:

1. 编写脚本并赋予权限

首先,创建一个存放脚本的目录(如 ~/bin),在其中编写脚本,并赋予它可执行权限:

bash

# 1. 创建存放脚本的专属目录(若已存在可跳过)
mkdir -p ~/.local/bin

# 2. 创建并编辑你的脚本文件(例如创建名为 mycmd 的指令)
nano ~/.local/bin/mycmd

# 3. 在打开的编辑器中,输入以下示例内容:
#!/bin/bash
echo "正在执行自定义指令..."
# 在这里添加你的实际脚本逻辑,例如:python3 /path/to/your/script.py

# 4. 保存并退出后,赋予该脚本可执行权限:
chmod +x ~/.local/bin/mycmd

请谨慎使用此类代码。

2. 将脚本路径加入环境变量

为了让终端能够识别你的指令,你需要把刚才存放脚本的目录加入到 PATH 中(Ubuntu 通常会自动加载 ~/.local/bin):

bash

# 1. 加载配置使其立即生效
source ~/.bashrc

# 2. 测试指令是否生效,直接输入你的文件名即可:
mycmd

请谨慎使用此类代码。


其他进阶场景:

  • 直接使用 Bash 别名 (Alias): 如果你的指令只是为了简化一条很长的命令,可以直接在 ~/.bashrc 中使用 alias。例如:alias mycmd="python3 /path/to/script.py"。记得运行 source ~/.bashrc 生效。

  • 开机自启脚本: 如果你需要的指令不是手动输入,而是希望系统开机时自动在后台执行,推荐使用 systemd 服务来管理。你可以参考 Systemd 服务配置指南 编写 .service 文件进行配置。 [1, 2, 3]

如果你的脚本需要开机自动以特定用户身份运行,或者在执行自定义指令时遇到权限问题,请告诉我,我可以为你提供 具体的 systemd 模板或 sudo 权限配置方法。

技术
许可协议:  CC BY 4.0
分享

相关文章

7月 26, 2026

完美地解决 TP3 老系统数据的平滑读取

为了彻底、完美地解决 TP3 老系统数据的平滑读取,必须解决两个核心痛点: TP3 的盲猜反序列化机制(标量存原样,数组/对象存原生 serialize,同时兼容 json)。 TP3 与 TP6 的缓存前缀(Prefix)不一致。 以下是为你量身定制的终极落地解决方案,通

7月 26, 2026

thinkphp3 redis序列化和反序列化

在老系统重构迁移至 ThinkPHP 6 (TP6) 的过程中,ThinkPHP 3 (TP3) 的 Redis 序列化历史遗留问题是最核心的连环坑之一。 TP3 的 S('key', $value) 缓存方法和底层 Redis 驱动,在存储非字符串(如数组、对象)时,有一套独特的序列化行为。如果不

7月 24, 2026

Table 空间极易发生哈希冲突并溢出

既然你没有在业务中主动调用 Room,只使用了全局广播,那么这个问题就非常明确了:即使你不用房间功能,think-swoole 只要开启了 WebSocket,底层就会强行初始化并注入一个名为 Room 的驱动组件。 [1] 框架底层默认使用 table 类型来作为 Room 的存储介质。当进行全局

下一篇

Swoole 的底层特性完成 WebSocket 的握手控制、连接鉴权

上一篇

前端使用的不是socket.io客户端 ,如何实现握手

最近更新

  • 完美地解决 TP3 老系统数据的平滑读取
  • thinkphp3 redis序列化和反序列化
  • Table 空间极易发生哈希冲突并溢出
  • 将监控程序直接跑在云端
  • AI 驱动型 Facebook 群组关键词监控 Chrome 浏览器插件

热门标签

API CodeGeex Gitkraken Management Manticore Premiere Sublime Swoole ThinkPHP ThinkPHP5

目录

©2026 mdo. 保留部分权利。