Sono having problems con uno script di provisioning della shell utilizzato da Vagrant, poiché non è in esecuzione source /home/vagrant/.bashrc
. Ho ridotto il problema fino a questo ...Perché `source/home/vagrant/.bashrc` non funziona in uno script di provisioning shell Vagrant?
All'interno del mio VM Ho un file in /home/vagrant/testfile
che contiene questo:
echo "In testfile"
E alla fine del /home/vagrant/.bashrc
ho questo:
echo "In .bashrc"
Entrambi i file sono di proprietà dell'utente vagrant
.
In uno dei miei script di shell provisioning Vagrant ho questo:
echo "Hello"
source /home/vagrant/testfile
source /home/vagrant/.bashrc
echo "Goodbye"
esecuzione vagrant provision
dà questo:
Hello
In testfile
Goodbye
Quando faccio vagrant ssh
poi /home/vagrant/.bashrc
viene eseguito come al solito, e vedo automaticamente :
In .bashrc
Quindi perché fare source /home/vagrant/.bashrc
non ha effetto dal mio script di provisioning?
Cosa fa il * resto * del tuo '.bashrc'? Scommetto che c'è un test per una sessione interattiva nella parte superiore (un controllo su 'PS1' o un controllo sul valore di' $ -' o simile). –
Ugh, sì, hai ragione, Etan, grazie. Non pensavo di guardare il resto della sceneggiatura. –