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

如何实现无需额外配置即可在文件夹直接执行的Bash自定义命令

实现跨平台无额外配置的project命令方案

核心思路

无需修改系统配置或环境变量,直接在项目根目录创建跨平台的project入口脚本,用户进入目录后即可通过简单调用执行对应子命令,完全适配Linux、macOS和Windows平台。

具体实现步骤

1. 创建跨平台入口脚本

在项目根目录分别创建针对类Unix系统和Windows系统的入口文件:

Linux/macOS 版本(命名为project)

#!/bin/bash

if [ $# -eq 0 ]; then
    echo "用法: project <子命令> [参数]"
    echo "可用子命令: setup, run1"
    exit 1
fi

SUBCOMMAND="$1"
shift

case "$SUBCOMMAND" in
    setup)
        ./setup.sh "$@"
        ;;
    run1)
        ./run1.sh "$@"
        ;;
    *)
        echo "未知子命令: $SUBCOMMAND"
        echo "可用子命令: setup, run1"
        exit 1
        ;;
esac

创建后添加执行权限:

chmod +x project

Windows 版本(命名为project.bat)

@echo off

if "%~1"=="" (
    echo 用法: project <子命令> [参数]
    echo 可用子命令: setup, run1
    exit /b 1
)

set SUBCOMMAND=%1
shift

if "%SUBCOMMAND%"=="setup" (
    call setup.bat %*
) else if "%SUBCOMMAND%"=="run1" (
    call run1.bat %*
) else (
    echo 未知子命令: %SUBCOMMAND%
    echo 可用子命令: setup, run1
    exit /b 1
)

2. 适配子命令脚本格式

确保setup和run1脚本也做跨平台处理:

  • 类Unix系统使用.sh后缀的Shell脚本,Windows系统对应提供.bat后缀的批处理脚本。
  • 所有子命令脚本与project入口文件放在同一根目录下。

3. 命令调用方式

  • Linux/macOS:进入项目目录后,直接执行 ./project setup 或 ./project run1
  • Windows:在cmd/PowerShell中进入项目目录,执行 .\project setup 或 .\project run1;若使用Git Bash,也可直接用./project setup

可选优化:省略./前缀(非必需)

如果想让调用更贴近原生命令,可在项目根目录创建bin子目录,将project入口脚本软链接到该目录,然后让用户进入项目后执行:

# Linux/macOS
export PATH="$PWD/bin:$PATH"

Windows cmd下则执行:

set PATH=%cd%\bin;%PATH%

完成后用户即可直接输入project setup调用,无需前缀。

注意事项

  • 确保所有脚本文件(包括入口脚本和子命令脚本)都正确提交到GitHub仓库。
  • Windows用户若使用原生cmd/PowerShell,需确保.bat脚本能正常运行;若使用WSL或Git Bash,Shell脚本可直接执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 21:04:58