You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在bash中创建可携带参数打开任意应用的自定义命令?

为任意程序创建自定义快捷命令的方法

你之前用sh -c传参失效的核心原因是:sh -c后的第一个参数是要执行的完整脚本内容,后续传入的参数是脚本的位置参数$0/$1,而非直接传给目标程序的参数,自然无法按预期生效。

你可以用以下几种通用方法实现和code path/to/file体验一致的快捷命令:

方法1:创建永久别名(适合简单场景,配置最快)

  • 打开你当前使用的shell的配置文件,Bash用户编辑~/.bashrc,Zsh用户编辑~/.zshrc,在文件末尾添加如下内容:
alias 自定义命令名="/path/to/目标程序的完整路径"
  • 以配置VS Code的快捷命令为例,写法如下:
alias code="/path/to/vscode.exe"
  • 保存文件后执行source ~/.bashrc(对应你使用的shell的配置文件)即可立即生效,之后直接输入code 目标文件路径就能正常传参打开文件。

方法2:封装为独立shell脚本(适合需要额外启动逻辑的场景)

如果程序启动需要搭配环境变量配置、参数预处理等额外逻辑,可以单独封装脚本:

  1. 在系统默认PATH目录/usr/local/bin下创建和快捷命令同名的文件,比如命名为code,内容如下:
#!/bin/bash
# 此处可添加任意自定义启动逻辑,比如设置环境变量、切换目录等
/path/to/vscode.exe "$@"

其中"$@"的作用是把用户传入的所有参数原封不动传递给目标程序,完全不会出现传参异常的问题。
2. 给脚本添加可执行权限:

sudo chmod +x /usr/local/bin/code

配置完成后就可以直接像原生命令一样调用,不需要做额外配置。

方法3:添加程序目录到系统PATH(不需要写别名/脚本)

如果程序本身的可执行文件名就足够简洁,你可以直接把程序所在的目录加入系统PATH变量:

  • 同样修改shell配置文件,在末尾添加如下内容:
export PATH="$PATH:/path/to/程序所在的目录"
  • 配置生效后,你直接输入程序的可执行文件名加参数就能调用,不需要写完整路径。

内容的提问来源于stack exchange,提问作者Reid Moffat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 17:24:01