13

私は Githug と呼ばれる ruby​​ gem を開発および保守しており、その自動テスト スクリプトを作成しようとしています。Githug は基本的にディレクトリを操作して、作業中の git リポジトリのさまざまな状態にします。レベルを「解決」するために git コマンドを実行できます。

レベルの 1 つで、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 スクリプトから機能しないのはなぜですか?

ありがとう。

4

2 に答える 2

16

間違ったシバン:

#! /bin/sh

bashスクリプトにする場合は、使用します

#! /bin/bash

Bash には組み込みの echo がありますが、これは /bin/echo と 100% 同一ではありません。

于 2012-04-22T12:19:16.393 に答える