এটি ব্যাশ কোড যা চালানো উচিত। সুতরাং প্রথমে এটি ব্যবহারকারীকে ওপেনপ্রজেক্টে প্রতিস্থাপিত করে এবং সমস্ত কোড চালায় তার চেয়ে বেশি:
su openproject -c "bash -l"
cd ~/openproject
git checkout Gemfile.lock
git pull
bundle install
RAILS_ENV="production" bundle exec rake db:migrate
RAILS_ENV="production" bundle exec rake db:seed
RAILS_ENV="production" bundle exec rake assets:precompile
আমি উপরের স্ক্রিপ্টটি এটিকে ক্লিনজ করার চেষ্টা করেছি:
su - openproject -c "cd ~openproject/openproject"
su - openproject -c "git checkout stable"
su - openproject -c "git checkout Gemfile.lock"
su - openproject -c "git pull"
su - openproject -c "bundle install"
su - openproject -c "RAILS_ENV="production" bundle exec rake db:migrate"
su - openproject -c "RAILS_ENV="production" bundle exec rake db:seed"
su - openproject -c "RAILS_ENV="production" bundle exec rake assets:precompile"
তবে এটি সঠিকভাবে চালিত হয় না এবং প্রতিটি পদক্ষেপে পাসওয়ার্ডের জন্য জিজ্ঞাসা করে। অনুবাদ করা স্ক্রিপ্ট কীভাবে উন্নত করা যায় তাই এটি কাজ করে?
আপডেট 1:
এই সম্পর্কে স্ত্রীরোগ গ্রহণের পরে আমি সেই বিন্দু যেখানে কোডটি রূপান্তরিত হয়েছে:
cd ~openproject/openproject
sudo -u openproject git checkout stable
sudo -u openproject git checkout Gemfile.lock
sudo -u openproject git pull
# the output is good thill here
sudo -u openproject bundle install
sudo -u openproject RAILS_ENV="production" bundle exec rake db:migrate
sudo -u openproject RAILS_ENV="production" bundle exec rake db:seed
sudo -u openproject RAILS_ENV="production" bundle exec rake assets:precompile
আউটপুটটি লাইন পর্যন্ত ঠিক আছে যা কোডের মধ্যে উল্লেখ করে। সেখান থেকে আমি 4 টি ত্রুটি পেয়েছি
sudo: বান্ডিল: কমান্ড পাওয়া যায় নি
আপডেট 2:
দিমিত্রি ভ্যাসিল্যানভের কাছ থেকে পরামর্শ দেওয়ার পরে আমি দেখতে পেলাম যে আমি -i প্রবেশ করিয়ে দিলে এটি ব্যবহারকারীর লগইন হিসাবে অনুকরণ করবে। তবে এটি করার চূড়ান্ত উপায় নয়।
আমি যদি echo $PATH
ওপেনপ্রজেক্ট হিসাবে লগ ইন করার পরে চালিত আউটপুট হয়/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/openproject/.rvm/bin
যদি আমি আউটপুট echo $PATH
পরে চালানোsu openproject -c "bash -l"
/home/openproject/.rvm/gems/ruby-2.1.0/bin:/home/openproject/.rvm/gems/ruby-2.1.0@global/bin:/home/openproject/.rvm/rubies/ruby-2.1.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/openproject/.rvm/bin
cd
, যেহেতু এটি শেলটি অন্তর্নির্মিত।
sudo
অন্য ব্যবহারকারী হিসাবে চালানোর জন্য ব্যবহৃত হয়, root
কোনও কিছু নির্দিষ্ট না করে ডিফল্ট হয়ে থাকলে আপনি পুরোপুরি সম্পাদন করতে পারেন sudo -u openproject bundle install
।
bundle: command not found
ত্রুটিটি পাচ্ছেন কারণ আপনি সেট করেছেন PATH
বা GEM_PATH
আপনার .bash_profile
বা .bashrc
-i
sudo
sudo -iu openproject bundle install
sudo
, নাsu
।