gpt4 book ai didi

bash - echo -e 在终端中工作但不在 bash 脚本中工作

转载 作者:行者123 更新时间:2023-11-29 08:50:27 25 4
gpt4 key购买 nike

我开发并维护了一个名为 Githug 的 ruby​​ gem,我正在尝试为其编写一个自动化测试脚本。 Githug 基本上是操纵一个目录,将其置于工作 git 存储库的不同状态,您可以执行 git 命令来“解决”该级别。

其中一个级别要求您提供 git 配置详细信息,我正在执行以下操作:

#! /bin/sh
# ...snip
#level 4
FULL_NAME=$(git config --get user.name)
EMAIL=$(git config --get user.email)
echo -e "$FULL_NAME\n$EMAIL" | githug

当我从 bash 脚本执行时,它 (echo -e) 不起作用。但是当我从终端运行它时它确实如此。

FULL_NAME=$(git config --get user.name)
EMAIL=$(git config --get user.email)
echo -e "$FULL_NAME\n$EMAIL" | githug
********************************************************************************
* Githug *
********************************************************************************
What is your name? What is your email?
Congratulations, you have solved the level

为什么这在 bash 脚本中不起作用?

谢谢。

最佳答案

错误的shebang:

#! /bin/sh

当它是一个 bash 脚本时,使用

#! /bin/bash

Bash 有一个内置的 echo,它与/bin/echo 不是 100% 相同。

关于bash - echo -e 在终端中工作但不在 bash 脚本中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10267852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com