내 모든 컴퓨터의 .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
명령을 실행합니다.