我在 ~/.bash_aliases 中有一些别名设置,我想在 .screenrc 中执行
chdir ~/projects/profullstack/edcast/edc-web
screen -t SHELL 0 edc-web-local
chdir ~/projects/profullstack/edcast/edc-cms
screen -t SHELL 1 edc-cms-local
chdir ~/projects/profullstack/edcast/edcast
screen -t SHELL 2 edcast-local
screen -t mysql 3 /home/linuxbrew/.linuxbrew/opt/[email protected]/bin/mysql.server start
screen -t elastic 4 /home/linuxbrew/.linuxbrew/opt/[email protected]/bin/elasticsearch
但未找到这些别名。
答案1
我假设edc-web-local
是一个示例别名。我让它工作的唯一方法是bash -ic
在命令前面添加:
screen -t SHELL 0 bash -ic edc-web-local
..对于其他别名命令也有同样的技巧
-c
告诉下一个参数(不是选项)是要执行的命令。-i
告诉 shell 以“交互”模式运行,这意味着它打开别名解析并加载~/.bashrc
(通常加载~/.bash_aliases
)。