0

Vagrantfile に次の行があります。

config.vm.provision :shell, path: "provisioning/myscript.sh"

ホストで設定されている環境変数 (存在しない可能性があります) に基づいて、そのスクリプトの実行を切り替えたいと思います。値が存在し、等しい場合trueはスクリプトをスキップします。それ以外の場合は、たとえば実行する必要があります

if [ ENV[SKIP_MY_SCRIPT] != 'true' ]
  config.vm.provision :shell, path: "provisioning/myscript.sh"
end

または、より良い方法がありますか (たとえば、env をスクリプトに渡すなど)?

4

1 に答える 1

0

Vagrantfile は主に ruby​​ スクリプトなので、ファイル内に条件文を入れても問題ありません。

特定の質問に答えるには、ホスト環境変数をプロビジョニング スクリプトに渡す方法(他のユース ケースに役立つ可能性があります) のような引数を渡すことができます。

  username = `whoami`.chomp
  config.vm.provision "shell", privileged: false, path: "provisioning/config-git.sh", args: "#{username}"

そしてあなたのスクリプトでは、次のように読みます

#!/usr/bin/env bash 
username=$1
于 2016-01-28T09:22:00.557 に答える