よろしくお願いいたします。
```vagrantfile
config.vm.provision "shell" do |mainsh|
mainsh.path = "./shell/init.sh"
end
でinit.shを呼び出し実行。 これは一般的なものでエラーはありません。しかし、 ```bash #!/bin/bash -eu .... sh ./demo.sh 99 (99は仮に作った引数)
init.shの中で他のShellを呼び出すと、
default: sh: ./demo.sh: No such file or directory
と怒られてしまいます。
このようにならない為の方法はあるのでしょうか。
そもそも呼出すshellで他のShellは呼び出せない仕様なのでしょうか。ご教授いただけると幸いです。
解決策はないわけではありません。vagrantfile内で別の変数つまり
```vagrantfile
config.vm.provision "shell" do |mainsh|
mainsh.path = "./shell/init.sh"
end
config.vm.provision "shell" do |subsh|
subsh.path = "./shell/demo.sh"
end
とすれば動かしたいshellは動いてくれます。しかしこの書き方だと冗長的で、init.shでreturnした値をdemo.shに渡せません。 AnsibleやChef使えよっていう声が聞こえてきそうですが、できればvagrantだけで解決できないか?と思い質問させて頂きました。 よろしくお願いいたします。
あなたの回答
tips
プレビュー