Kabuk sağlama komut dosyası .bash_aliases oluşturmuyor


0

Windows 10 ana bilgisayarında Ubuntu konuk VM oluşturmak için Vagrant'ı VirtualBox ile kullanıyorum. İşte benim Vagrant dosyam:

# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/trusty64"

  config.vm.network "forwarded_port", guest: 8080, host: 8100

  config.vm.provision "shell", path: "./bootstrap.sh"
end

Ve işte bootstrap.sh dosyası.

printf "Working directory is: %s." $(pwd)

if [ ! -f '~/.bash_aliases' ]; then
    printf "# This is a comment." > ~/.bash_aliases ;
fi;

ls -la

Yine de bir nedenden ötürü, serseri kullanıcının dizininde .bash_aliases'i asla yaratmaz. Kutuya SSH yazıp aynı komutu çalıştırabilirim ve işe yarıyor. .Bash_aliases dosyasını serseri kullanıcı dizininde nasıl oluşturabilirim?

Yanıtlar:


0

Anladım. En az iki çözüm var.

1. Çözüm - privilegedAyarla ile çalıştırınfalse

Vagrantfile'de bu satırı değiştir ...

config.vm.provision "shell", path: "./bootstrap.sh"

buna:

config.vm.provision "shell", path: "./bootstrap.sh", privileged: false

Vagrant, root ( sudo) değil, vagrant kullanıcı olarak çalışacaktır .

2. Çözüm - Doğrudan dosya oluşturun /home/vagrant/.bash_aliases

Değişiklik...

if [ ! -f '~/.bash_aliases' ]; then
    printf "# This is a comment." > ~/.bash_aliases ;
fi;

buna:

if [ ! -f /home/vagrant/.bash_aliases ]; then
    printf "# This is a comment." > /home/vagrant/.bash_aliases ;
fi;

Bu doğrudan serseri kullanıcının dizinine yazar.

2. Çözüm ile gittim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.