运行 git bash 中的 sh 文件甚至导致在终端中显示变量赋值语句

Running a sh file in git bash even results in variable assignment statements being shown in terminal

我正在尝试 运行 git bash Windows 10 上的 sh 文件。我什至看到了我不想成为的陈述在控制台中显示为变量赋值。但是我在 Linux(WSL) 的 Windows 子系统或其他 linux 发行版上看不到同样的东西。尝试 运行 时看到 sh 文件中的所有代码行变得有点烦人,当我只对看到我想回显的语句感兴趣时。有人可以帮忙吗?

示例 sh 文件:

#!/usr/bin/env sh
VARIABLE="OK"
echo $VARIABLE

Output on git bash:

Output on WSL(or any other Linux Systems):

只有当这两种情况都发生时才会发生这种情况:

  1. set -x 已使用
  2. PS4 设置

如果您修复其中任何一个,消息就会消失。

如果你想修复第一个,你可以做set +x,或者你可以找到那个文件 正在调用 set -x 并删除该行。可能 ~/.bash_profile~/.bashrc.

如果你想固定第二个,你可以做PS4=,你可以将它添加到其中一个 如果需要,上面的那些文件可以保留。