استبدال الأوامر في Linux - قم بتعيين المتغيرات (اسم المستخدم وكلمة المرور) في bashrc
سؤال
أنا جديد جدًا على نظام 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.