我的 bash_profile 中有一个别名,它目前是一个非常长的行,如下所示:
alias staging_server='MY_ENV1="http://example.com" MY_ENV2="http://example2.com" MY_ENV3="http://example3.com" MY_ENV4="http://example4.com" start_server -p 1234'
有没有办法使用函数或别名将其与换行符分开以使其更清晰?像这样的东西(这似乎不起作用)?
alias staging_server=' \
MY_ENV1="http://example.com" \
MY_ENV2="http://example2.com" \
MY_ENV3="http://example3.com" \
MY_ENV4="http://example4.com" \
start_server -p 1234
'
我想避免导出这些,因为我不希望它们作为默认值。
请注意,如果您在子 shell 中执行导出操作,则可以(不会影响 shell 会话的其余部分),例如:
请注意,这并不意味着额外的分叉,我们只是在前面进行了分叉。
唯一意味着一个额外的分叉的情况是,如果你在
start_server
那里使用了一个内置的 shell(在这种情况下,在某些 shell 中bash
(其中一个是需要的,因为它不是exec
隐式完成的), usingexec
不会调用那个外壳内置)。别名实际上似乎对我有用(前提是反斜杠后没有空格)。但是一个函数可能会更好,并且至少可以更容易地使用单引号:
如果需要环境变量,可以使用
env
命令: