Makefileからシェルスクリプトにパラメータを渡す「コマンドが見つかりません」

Makefileからシェルスクリプトにパラメータを渡す「コマンドが見つかりません」

info.propertiesこの属性を含むファイルがあり、MY_NAMEそれを自分で使用できますMakefile。試しましたが、myScript.shファイルから直接プロパティを使用することはできません。

そのため、その属性をパラメータとしてに渡したいと思いますmyScript.sh。以下を行っています。

makeファイルから:

my_stage:
    chmod 777 myScript.sh && ./myScript.sh $(MY_NAME)

myScript.shには次のものがあります。

#!/bin/bash -e
source .build/utils.sh

MY_NAME=$1
echo "MY_NAME=${MY_NAME}"

ただし、常に次のエラーが発生します。

chmod 777 myScript.sh && ./myScript.sh My-name-Mariana
.build/utils.bash: line 596: My-name-Mariana: command not found
make: *** [test] Error 127

この問題をどのように解決できますか?

修正する:

私はパラメータを実行しようとしていることを知っており、.build/utils.bashエラーでこれを見ることができます。しかし、そのファイルは私のコードプロジェクトの一部ではないため、ファイルがないため変更できません。

ベストアンサー1

スクリプトの596行目でこれをコマンドで呼び出して.build/utils.bashみます。My-name-Marianaリテラルまたはで$1存在しないため、実行はすぐに失敗します(-eフラグのためbash)。

.build/utils.bash: line 596: My-name-Mariana: command not found

解決策はコードを修正することです。まだここに提供していないので、具体的な提案をすることはできませんが、関連する文脈に合わせて質問を更新すると、誰かが喜んでそうしてくれると確信しています。

おすすめ記事