
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
解決策はコードを修正することです。まだここに提供していないので、具体的な提案をすることはできませんが、関連する文脈に合わせて質問を更新すると、誰かが喜んでそうしてくれると確信しています。
答え2
あなたのスクリプトはソースを提供できるので、.build/utils.bash
実際にできる読む。たとえば、less .build/utils.bash
Makefileを含むディレクトリで試してみてください。
変更せずに実際の問題を解決するには、変数に内容を割り当ててから、.build/utils.bash
コマンドを使用して -$1
MY_NAME
shift
$1
今後あなたsource .build/utils.sh
。
ただし、空の文字列utils.bash
を受け取ると、$1
失敗したり他の操作を実行したりできます。utils.bash
これについて文書を読んだり、文書を読まなくても何を期待しているのかわかりません。