Git for Windows 安装了“Git Bash”,这是一个在 Windows 中运行的 bash shell,这非常好。我相信它是基于 MinTTY 的。
除了bash shell脚本之外,它还可以执行Windows批处理(.bat)文件,例如
$ ./some-batch-file.bat
Run Code Online (Sandbox Code Playgroud)
执行没有任何问题。
但制表符补全不适用于这些批处理文件。打字./some-TAB没有任何效果。
有没有办法.bat在 Git bash 中为文件启用制表符补全?
我刚刚安装了适用于 Windows 2.22.0 的 Git,其中应包含 pacman,但我得到了
bash: pacman: command not found
Run Code Online (Sandbox Code Playgroud)
我在 /usr/bin 中没有看到 pacman 可执行文件。
我想将 git bash 集成到 IntelliJ 中,因此我将默认终端路径更改为C:\Program Files\Git\bin\sh.exe. 一段时间后,我注意到有些命令不起作用,例如:
sh.exe
$ ll
bash: ll: command not found
Run Code Online (Sandbox Code Playgroud)
还有一些程序无法运行。我正在使用MQTT CLI,下载了它,PATH正确配置了变量,但该命令mqtt仅在git-bash.exe.
sh.exe
$ mqtt
bash: mqtt: command not found
Run Code Online (Sandbox Code Playgroud)
git-bash.exe
$ mqtt
Usage: mqtt [-hV] { pub | sub | shell }
MQTT Command Line Interpreter.
Options:
-h, --help Show this help message and exit.
-V, --version Print version information and exit.
Commands:
pub, publish Publish a message to a list of topics …Run Code Online (Sandbox Code Playgroud) 在 Git Bash 和 Cygwin 中,我可以轻松访问 Windows%PROGRAMFILES%环境变量:
$ echo $PROGRAMFILES
C:\Program Files
$ echo ${PROGRAMFILES}
C:\Program Files
Run Code Online (Sandbox Code Playgroud)
但是,由于变量名称中的方括号/圆括号,我无法%PROGRAMFILES(X86)%以相同的方式访问:
$ echo $PROGRAMFILES(X86)
bash: syntax error near unexpected token `('
$ echo ${PROGRAMFILES(X86)}
bash: ${PROGRAMFILES(X86)}: bad substitution
$ echo ${PROGRAMFILES\(X86\)}
bash: ${PROGRAMFILES\(X86\)}: bad substitution
Run Code Online (Sandbox Code Playgroud)
当然,除非我使用命令提示符:
C:\Users\myname>echo %PROGRAMFILES(X86)%
C:\Program Files (x86)
Run Code Online (Sandbox Code Playgroud)
(我很少这样做!)
有没有办法转义环境变量名称中的括号,或者这些在类似 Bash 的环境中完全无效(因此无法访问)?
我正在尝试在 Windows 上安装Ansible 开源自动化平台。有很多关于如何使用 Cygwin 安装 Ansible 的指南(例如1、2)。
但是,我已经在 Windows 7 上安装了 Git-Bash(来自这里)。
是否可以在 Windows 中的 Git-Bash 中安装 Ansible。
编辑:
更新:
我在 Cygwin 上遇到了很多问题。
pip install PyYAML, jinja, paramiko, cryptography,等等。我想先安装 Ansible 依赖项,然后pip install ansible只在最后安装。它没有安装paramiko并cryptography成功。两个包libffi和ncurses被发现失踪。我重新运行了 Cygwin 安装程序并安装了libffi. 我找不到ncurses。pip install paramiko cryptography. 他们没有再次安装,并给出了相同的错误消息,libffi并且ncurses丢失了。那时,我放弃并卸载了 Cygwin。我没有再试一次。编辑 2: 为了回答这个问题,我这样做了: …
我正在尝试制作虚拟环境。在我的笔记本电脑上
使用cmd终端,我成功了。但是,我坚持使用 git-bash 终端。
你知道有什么问题吗?
以下是我在 git-bash 终端上执行的命令。
畅达信息--envs
1) 基 *c:\ProgramData\Anaconda3
2) 测试 *c:\ProgramData\Anaconda3\envs\test
激活测试
然后,输出是“commandNotFoundError: No command 'conda conda'
先感谢您。
我最近更新了我的 Git Bash 和 Anaconda 安装,并且我正在尝试使用 Anaconda 从 VSCode 中运行 Git Bash。问题是,每当我从 VSCode 中打开集成终端时,终端都不会显示(基本)标签,并且当我运行时conda activate,它返回 CommandNotFoundError:
If using 'conda activate' from a batch script, change your
invocation to 'CALL conda.bat activate'.
To initialize your shell, run
$ conda init <SHELL_NAME>
Currently supported shells are:
- bash
- cmd.exe
- fish
- tcsh
- xonsh
- zsh
- powershell
See 'conda init --help' for more information and options.
IMPORTANT: You may need to close and restart your shell after …Run Code Online (Sandbox Code Playgroud) 我在一台新机器上安装了 Windows Terminal [Microsoft Store] 和 Git Bash [latest]。我运行了一个构建脚本来记录其进度,每当出现换行符(也许还有其他字符?)时,我都会得到奇怪的字符,所有内容都打印在同一行上:
\n\xe2\x86\x90[1A\xe2\x86\x90[1m> Connecting to Daemon\xe2\x86\x90[m\xe2\x86\x90[22D\xe2\x86\x90[1B\xe2\x86\x90[2A\xe2\x86\x90[1m<\xe2\x86\x90[0;1m-------------> 0% INITIALIZING [73ms]\xe2\x86\x90[m\xe2\x86\x90[38D\xe2\x86\x90[1B\xe2\x86\x90[1m> Evaluating settings\xe2\x86\x90[m\xe2\x86\x90[0K\xe2\x86\x90\nRun Code Online (Sandbox Code Playgroud)\n应该是:\nConnecting to Daemon\n<-------------> 0% INITIALIZING [73ms]\nEvaluating settings\nRun Code Online (Sandbox Code Playgroud)\n这种行为的根源是什么?如何解决?
\n我正在尝试使用 Git Add 命令来暂存几个文件以供稍后提交。但是,我似乎无法添加它,因为 Git bash 不喜欢其中包含空格的目录。如何解决这个问题?
我正在使用 Win 7 操作系统。我的命令如下所示:
git add folder1/folder2/new folder/folder3/myFile.txt
Run Code Online (Sandbox Code Playgroud)
我得到的错误如下:新:没有这样的文件或目录
谢谢!
Shebang 是 bash 脚本的第一行,告诉 bash 脚本的执行位置。在Windows git bash脚本中,有必要吗?如果没有,为什么?