Có một số lệnh phải được chạy như một người dùng bình thường sau khi cấp phép ban đầu. Tôi nghĩ rằng tôi có thể làm điều này bằng cách sử dụng một tập lệnh shell và lệnh riêng biệt su --login -c <command> vagrant
, nhưng nó không lấy được đường dẫn của người dùng hoặc các cài đặt môi trường khác từ .bashrc.
ví dụ:
#!/usr/bin/env bash
su --login -c "rbenv install 2.0.0-p353" vagrant
su --login -c "rbenv global 2.0.0-p353" vagrant
su --login -c "gem update --system" vagrant
su --login -c "yes | gem update" vagrant
su --login -c "gem install rdoc" vagrant
su --login -c "gem install rails pg" vagrant
Có cách nào để làm việc này không? Có lẽ nó phải được thực hiện với một công cụ cung cấp khác như Puppet hoặc Chef? Tôi đã nghĩ đến việc tạo một tập lệnh shell khác lấy nguồn .bashrc
, sao chép nó vào hộp bằng cách sử dụng: trình cấp phép tệp và thực hiện các lệnh như vậy, nhưng nó có vẻ giống như một vụ hack.
Cách thích hợp để làm điều này là gì?
su -p
sẽ duy trì các biến môi trường - điều này có giúp ích gì không?