استبدال الأوامر في Linux - قم بتعيين المتغيرات (اسم المستخدم وكلمة المرور) في bashrc

StackOverflow https://stackoverflow.com//questions/25007346

  •  20-12-2019
  •  | 
  •  

سؤال

أنا جديد جدًا على نظام Linux.أريد أن أفعل استبدال الأوامر.أرغب في تحديد متغير في bashrc وتعيينه يساوي القيمة المرجعة لأمر Linux.ما هو بناء الجملة لذلك؟

هذا هو بالضبط ما أريد أن أفعله.لدي تطبيق Rails 4 منتشر على Heroku وأنا أستخدم Sendgrid على Heroku لإرسال رسائل البريد الإلكتروني.الآن عندما أكتب heroku config:get SENDGRID_USERNAME (أو heroku config:get SENDGRID_PASSWORD) في وحدة التحكم (في المجلد المحلي my_app_folder)، فإنه يُرجع اسم المستخدم (أو كلمة المرور) الخاص بـ Sendgrid.أرغب في تحديد متغير، SENDGRID_USERNAME في bashrc وقم بتعيينها مساوية لقيمة الإرجاع heroku config:get SENDGRID_USERNAME (بدلاً من نسخ ولصق القيمة الفعلية).كيف يمكنني فعل ذلك؟شيء مثل ما يلي:

export SENDGRID_USERNAME=my_app_folder/heroku config:get SENDGRID_USERNAME

شكرًا جزيلاً.

هل كانت مفيدة؟

المحلول

هل هذا ما كنت تبحث عنه؟

SENDGRID_USERNAME=$( path/to/heroku config:get SENDGRID_USERNAME )
#                 ^^                                             ^

عند التنفيذ، $( ... ) يتم استبداله بـ انتاج من الأمر الموجود بين قوسين.يقتبس man bash:

Command Substitution

   Command substitution allows the output of a command to replace the com‐
   mand name.  There are two forms:

          $(command)
   or
          `command`

   Bash performs the expansion by executing command and replacing the com‐
   mand  substitution  with  the  standard output of the command, with any
   trailing newlines deleted.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top