Git Bash中命令添加.cmd后缀的作用是什么
Git Bash中给Node工具命令加
.cmd后缀的作用 - 核心背景:Windows环境下使用npm、yarn全局安装gatsby、yarn这类前端工具时,会同时生成两份可执行入口:一份是适配类Unix环境的无后缀Shell脚本,一份是适配Windows原生环境的
.cmd后缀批处理文件,两份都会被添加到系统PATH中。 - Git Bash的执行逻辑差异:Git Bash是基于MSYS2的类Unix模拟环境,默认优先匹配无后缀的可执行文件,但这类适配类Unix的Shell脚本在Git Bash中经常会出现权限不足、依赖运行环境缺失的问题,直接敲
gatsby、yarn命令时大概率会触发“找不到命令”、“执行失败”的报错。 - 加
.cmd后缀的实际作用:手动添加.cmd后缀相当于明确指定Git Bash调用适配Windows原生环境的批处理文件执行命令,跳过对类Unix格式脚本的匹配,无需额外依赖也不会有权限问题,可保证命令正常运行。
优化小技巧:你可以在Git Bash的用户目录下的
.bashrc(如果使用zsh则对应.zshrc)文件中添加命令别名,例如:alias gatsby='gatsby.cmd' alias yarn='yarn.cmd'配置后重启Git Bash,直接敲
gatsby、yarn就能正常调用对应.cmd文件,不需要每次手动加后缀。
内容的提问来源于stack exchange,提问作者Aquasin
相关产品推荐
相关产品推荐

