次のことを試してみたいとしましょう。
SHELL:=ssh virtual-machine
# or: SHELL:=ssh virtual-machine bash
.PHONY:
foo:
echo "foo"
# on the command line
make foo
# returns
Unknown cipher type 'echo "foo"'
それを明らかにすることは、多かれ少なかれ「それはうまくいった!」、しかしそれmake
は以下を実行している:
ssh virtual-machine -c "echo \"foo\""
これがとを含むXYの質問であることを理解するmake
とssh
、私のソリューションに中立な質問は次のとおりです。
を使用して、このリモートサブシェルの動作を適切に生成するにはどうすればよいmake
ですか?
そして、これを理解することは悪い考えかもしれませんし、より良い方法があるかもしれません、私の特定の質問は:
makeがSHELL
変数を実行する方法をカスタマイズする方法はありますか?
GNU makeのマニュアルの引用、セクション5.3.2(シェルの選択):
シェルとして使用されるプログラムは、変数SHELLから取得されます。この変数がメイクファイルに設定されていない場合、プログラム/ bin / shがシェルとして使用されます。シェルに渡される引数は、変数.SHELLFLAGSから取得されます。.SHELLFLAGSのデフォルト値は通常-c、またはPOSIX準拠モードでは-ecです。
したがって.SHELLFLAGS
、空の値に設定すると、必要な処理が実行されます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加