Linux中的命令替换 - 在bashrc中设置变量(用户名和密码)

时间:2014-07-29 02:28:06

标签: linux bash heroku sendgrid

我对linux很新。我想做命令替换。我想在bashrc中定义一个变量,并将其设置为linux命令的返回值。它的语法是什么?

这正是我想要做的。我在heroku上部署了一个Rails 4应用程序,我在Heroku上使用Sendgrid发送电子邮件。现在,当我在控制台中输入heroku config:get SENDGRID_USERNAME(或heroku config:get SENDGRID_PASSWORD)(在本地文件夹my_app_folder中)时,它会返回我的Sendgrid用户名(或密码)。我想在baschrc中定义变量SENDGRID_USERNAME并将其设置为等于heroku config:get SENDGRID_USERNAME的返回值(而不是复制粘贴实际值)。我该怎么做?如下所示:

export SENDGRID_USERNAME=my_app_folder/heroku config:get SENDGRID_USERNAME

非常感谢。

1 个答案:

答案 0 :(得分:0)

这就是你要找的东西吗?

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.