У меня есть код ниже Vagrantfile
, который вызывает сценарий ниже. Сценарий работает до последней строки source $dotfile
. Когда он доходит до source
, сценарий говорит source: not found
. Линия до, cat $dotfile
работает просто отлично, поэтому файл явно существует.Источник не найден на Vagrant up
Почему этот файл каким-то образом не найден для команды source
, но он работает для предыдущей команды cat
?
output error
==> default: /vagrant/scripts/create_functions_dotfile.sh: 14: /vagrant/scripts/create_functions_dotfile.sh: source: not found
Vagrantfile
config.vm.provision "#{script["name"]}", type: "shell" do |shell|
shell.inline = "/bin/sh /vagrant/scripts/create_functions_dotfile.sh"
end
scripts/create_functions_dotfile.sh
#!/bin/sh
dotfile=/home/vagrant/.functions.sh
for file in /vagrant/scripts/functions/*; do
echo "cat $file >> $dotfile"
cat $file >> $dotfile
done
echo "source $dotfile" >> /home/vagrant/.bashrc
cat $dotfile
source $dotfile
WRT предлагаемое изменение, которое изменило код в ответе, [предлагаемое чтение] (http://meta.stackoverflow.com/a/266479/1677912). – Mogsdad