내 별칭은 다음과 같습니다 .zshrc
.
alias grim='gvim --remote'
그러나 이것은 Ranger 파일 관리자에서 볼 수 없습니다. 나는 Ranger가 "범용" 쉘을 실행하고 내 것을 건너뛰고 .zshrc
이 별칭이 모든 쉘에서 표시되기를 원합니다.
에 추가했지만 ~/.profile
효과 /etc/zsh/zshrc
가 없었습니다. 구체적으로 다음과 같은 메시지를 받았습니다.
/bin/sh: grim: not found
답변1
대화형 셸만 별칭 정의가 포함될 수 있는 파일을 읽을 수 있습니다. 응용 프로그램에서 실행되는 셸 코드에서 명령의 별명을 사용하려는 경우 별칭은 올바른 도구가 아닙니다. 대신 다음과 같은 래퍼 스크립트를 작성하세요.
#!/bin/sh
gvim --remote "$@"
그것을 호출 ~/bin/grim
하고 실행 가능하게 만드십시오. ~/bin
( PATH
스크립트를 의 다른 디렉터리에 넣을 수 있음 ) 확인하세요 PATH
.
시스템의 모든 사용자에 대해 작동하도록 하려면 /usr/local/bin
디렉토리가 모든 사용자의 PATH에 있는지 확인하여 에 넣으십시오.
답변2
파일을 생성할 수 있습니다.별칭.sh/etc/profile.d
디렉토리 에
이 줄을 써라
alias grim='gvim --remote'
이 파일 내에서별칭.sh
그러면 시스템 전체에 대한 사용자 정의가 생성됩니다.
바꾸다별칭.sh다음으로 끝나는 다른 파일 이름을 사용할 수 있습니다..쉿
답변3
~/.config/ranger/commands.py를 해킹하고 shell.execute()의 마지막 줄을 바꿀 수 있습니다.
self.fm.execute_command(command, flags=flags)
그리고
self.fm.execute_command("bash -c '" + command + "'", flags=flags)
이것은 나에게 효과적입니다.
답변4
비슷한 일을 해본 적 있나요? :
source /path/to/.profile