zsh에서 별칭 오류를 억제하는 방법은 무엇입니까?

zsh에서 별칭 오류를 억제하는 방법은 무엇입니까?

내 모든 컴퓨터의 .zshrc에 소싱된 별칭 목록을 갖고 동기화하고 싶습니다. 하지만 한 컴퓨터에는 도커가 설치되어 있고 다른 컴퓨터에는 설치되어 있지 않습니다. 터미널을 열 때마다 오류가 발생합니다.

/home/ubuntu/scripts/zsh_aliases:2: command not found: docker

...일부 별칭으로 docker를 사용하고 있기 때문입니다.

이 검사를 억제하거나 오류를 로그 파일로 리디렉션하려면 어떻게 해야 합니까?

이 별칭에서 오류가 발생한 것으로 나타났습니다 alias all.restart="docker restart $(docker ps -q)". 이기 때문인 것 같은데 $(), 왜일까요?

답변1

docker를 호출하는 줄은 주석에서 "명령을 찾을 수 없음 오류"를 생성합니다.

alias all.restart="docker restart $(docker ps -q)"

명령 대체는 docker 없이 시스템에서 실행될 때 오류를 유발하는 $(docker ...)call 입니다 .docker

별칭 앞에 명령이 있는지 확인하십시오 docker.

command -v docker > /dev/null && alias all.restart="docker restart $(docker ps -q)"

명령을 찾을 수 없으면 command명령이 실패하고 docker후속 섹션을 건너뜁니다 && alias. docker명령 이하다존재하는 경우 alias명령을 실행합니다.

관련 정보