Windows怎么用Git Bash运行Shell脚本_Windows如何在Git Bash中执行Linux风格的命令脚本【方法】

酷瑶吖_4234

酷瑶吖_4234

2026-03-21

1119人浏览

原创

git bash无法运行shell脚本的解决方法包括:一、设置lf换行符并chmod +x赋权;二、首行添加#!/usr/bin/env bash并用/c/路径格式;三、用bash script.sh显式调用;四、含空格路径需加双引号;五、临时关闭windows defender实时保护。

windows怎么用git bash运行shell脚本_windows如何在git bash中执行linux风格的命令脚本【方法】

如果您在Windows系统中安装了Git Bash,但无法直接运行Shell脚本或执行Linux风格的命令脚本,则可能是由于脚本权限、路径格式、换行符或解释器声明不兼容所致。以下是解决此问题的步骤:

一、确保脚本具有可执行权限并使用Unix换行符

Git Bash基于MSYS2环境,依赖POSIX风格的文件权限和LF(Line Feed)换行符。Windows默认保存的脚本若含CRLF换行或缺少执行位,将导致“Permission denied”或“bad interpreter”错误。

1、用文本编辑器(如VS Code或Notepad++)打开脚本文件,将行尾序列设置为LF(Unix),而非CRLF(Windows)。

2、在Git Bash中进入脚本所在目录,运行:chmod +x script.sh,赋予执行权限。

3、验证权限:执行ls -l script.sh,确认输出中包含-rwxr-xr-x类标识。

二、使用正确的解释器路径并声明Shebang

Git Bash中的bash解释器位于MSYS2模拟环境中,需显式指向其内部路径,且脚本首行必须包含准确的Shebang,否则系统可能调用Windows cmd或错误解析路径。

1、在脚本第一行顶部插入:#!/usr/bin/env bash(推荐)或#!/bin/bash。

2、避免使用Windows绝对路径如C:/path/script.sh;改用Git Bash识别的路径格式,例如/c/Users/Name/script.sh。

3、检查解释器是否存在:在Git Bash中运行which bash,确认返回结果为/usr/bin/bash或类似路径。

三、通过bash命令显式调用脚本

当脚本因权限或环境变量问题无法直接执行时,可绕过执行位检查,强制由bash进程加载并解析脚本内容,适用于调试或临时运行场景。

1、在Git Bash中切换到脚本所在目录,或提供完整路径。

windows-shell-syntax
windows-shell-syntax

在 Windows 上执行终端命令,或对比 Windows 与 Linux 的 Shell 语法时使用。建议先检测当前 Shell 是 PowerShell 还是 cmd.exe,再给出相应命令……

下载

2、输入命令:bash script.sh(不加./前缀亦可)。

3、若脚本依赖当前工作目录下的其他文件,建议先使用cd /c/path/to/dir切换路径,再执行。

四、处理Windows路径与空格问题

Git Bash对含空格的Windows路径解析较敏感,若脚本路径或其中引用的文件路径含空格,未加引号会导致参数截断,引发“command not found”或“no such file”错误。

1、运行脚本时,对含空格的路径使用双引号包裹,例如:./"my script.sh"。

2、脚本内部调用Windows程序(如notepad.exe)时,路径应写为/c/Windows/System32/notepad.exe,而非C:\Windows\System32\notepad.exe。

3、若脚本中使用变量拼接路径,确保变量值前后无多余空格,并在引用时使用双引号,例如:"$FILE_PATH"。

五、禁用Windows Defender实时保护临时干扰

部分版本Windows Defender会拦截Git Bash启动的bash子进程或临时生成的shell解释行为,表现为脚本静默退出、无输出或报错“bash: fork: retry: Resource temporarily unavailable”。

1、右键任务栏Windows安全中心图标,选择“打开Windows安全中心”。

2、进入“病毒和威胁防护” → “管理设置”,暂时关闭实时保护(仅测试期间启用,操作后务必恢复)。

3、重新在Git Bash中运行脚本,观察是否恢复正常输出。

相关专题

更多
resource是什么文件
resource是什么文件

Resource文件是一种特殊类型的文件,它通常用于存储应用程序或操作系统中的各种资源信息。它们在应用程序开发中起着关键作用,并在跨平台开发和国际化方面提供支持。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.20

320

3

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

2023.07.05

6159

9

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

2023.07.06

1800

6

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

2023.07.24

1054

5

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

4017

7

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

3761

6

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.26

3199

3

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.27

2778

6

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

2023.08.01

1488

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Conan 2 安装指南
Conan 2 安装指南

共0课时 | 0人学习