2016-11-24 3 views
0

현재 현재있는 폴더에 새 tmux 세션을 만드는 명령의 별칭을 지정하고 세션 이름으로 폴더 이름 (하이픈으로 연결됨)을 설정합니다. 세션이 이미 존재하는 경우, TMUX는에 연결 :

alias tses="tmux new -As $(basename $PWD | tr . -)" 

내가 지금처럼 내 쉘에서 명령을 실행하면 예상대로 작동 tmux new -As $(basename $PWD | tr . -)합니다. 그러나 별칭 tses을 실행하면 항상 내 홈 폴더의 이름이 세션 이름으로 설정됩니다.

왜 그런가요? 예상대로 작동하도록 수정하는 이유는 무엇입니까?

+1

별칭 문제의 99 %는 대신 함수를 사용하여 해결할 수 있습니다. – Barmar

답변

0

따라서 이중 따옴표를 사용하면 .zshrc이로드 될 때 zsh가 명령을 평가하게됩니다 (따라서 $PWD). 작은 따옴표로 묶기 :

alias tses='tmux new -As $(basename $PWD | tr . -)' 

해결했습니다. 참조 : Get the `pwd` in an `alias`?.

관련 문제