![.screenrc에 정의된 쉘에서 별칭을 실행하는 방법은 무엇입니까?](https://linux55.com/image/161305/.screenrc%EC%97%90%20%EC%A0%95%EC%9D%98%EB%90%9C%20%EC%89%98%EC%97%90%EC%84%9C%20%EB%B3%84%EC%B9%AD%EC%9D%84%20%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
~/.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
셸이 "대화형" 모드에서 실행되도록 지시합니다. 즉, 별칭 확인을 켜고 로드합니다 ~/.bashrc
(일반적으로 ~/.bash_aliases
).