Ich versuche, zusätzliche Zeilen zu .bashrc in meinem Home-Verzeichnis von der Bereitstellung Shell-Skript beim Starten einer neuen Instanz mit Vagrant hinzufügen.Update .bashrc von Provisioning-Shell-Skript mit Vagrant
Im Shell-Skript Ich habe:
set -x
sudo apt-get update
sudo apt-get install vim
echo "source /usr/local/share/chruby/chruby.sh">> ~/.bashrc
echo "source /usr/local/share/chruby/auto.sh">> ~/.bashrc
jedoch nach Abschluss nichts .bashrc geschrieben wurde.
Dies ist eine verkürzte Version des vollständigen Skripts, dessen Absicht es ist, Ruby/Rails zu installieren.
Fügen Sie ein Debug-Echo zwischen den Hinzufügungen zur bashrc-Datei hinzu, meine beste Vermutung ist, dass Ihr Skript es wegen einer Kontrollstruktur irgendwie überspringt. – ShellFish
Ich bekomme Folgendes in stdout, wenn das Bash-Skript die Zeilen trifft, die versuchen, in .bashrc zu echoten, sie werden ausgeführt - ist es möglich, dass sie auf eine .bashrc-Datei zurückgegeben werden, die nicht in/home ist/Landstreicher? ==> Standard: ++ Echo 'Quelle /usr/local/share/chruby/chruby.sh' ==> Standard: ++ Echo 'Quelle /usr/local/share/chruby/auto.sh' ==> Standard: ++. /root/.bashrc ==> default: +++ '[' -z '' ']' ==> Standard: +++ return –
Wenn Sie sind, können Sie es leicht vermeiden, indem Sie die '~' durch ersetzen der vollständige Pfad von '/'? – ShellFish