시스템 별칭을 추가하는 방법은 무엇입니까?

시스템 별칭을 추가하는 방법은 무엇입니까?

내 별칭은 다음과 같습니다 .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

관련 정보