현재 사용 중인 컴퓨터에 종속된 바이너리의 별칭을 어떻게 지정합니까?

현재 사용 중인 컴퓨터에 종속된 바이너리의 별칭을 어떻게 지정합니까?

나는 다른 컴퓨터에서 작업합니다. 일부는 centos7, 일부는 동일한 버전이 둘 다 실행할 수 없기 때문에 각 '유형'에 대해 다른 버전의 centos6바이너리를 빌드합니다 .tmux

내가 작업하는 상자에 따라 .bashrc버전 간에 전환하도록 어떻게 알 수 있습니까 ?tmux

답변1

이 명령은 uname -m현재 어떤 아키텍처에 있는지 알려줍니다. 예를 들어, 지금 내 시스템에서는 다음과 같습니다.

$ uname -m
x86_64

나는 Archful 바이너리를 ~/bin/i686and 에 넣는 것을 제안할 수도 있습니다 ~/bin/x86_64. (또는 32비트 Power 또는 다른 것이라면 무엇이든 uname -m반환됩니다.) 그런 다음 ~/.bash_profile(이것은이것에 딱 맞는 장소, 다음과 같은 줄이 있습니다.

PATH=$PATH:~/bin/$(uname -m)

그러면 이 새로운 아치별 저장소 경로가 기존 경로에 추가됩니다.

또는 머신 아키텍처 이외의 다른 것을 원하는 경우 다른 구분자를 사용하세요. 예를 들어 CentOS 버전을 확인하는 쉬운 방법은 다음과 같이 centos-release패키지 버전을 확인하는 것입니다 .rpm -q

PATH=$PATH:~/bin/centos$(rpm -q --qf '%{VERSION}' centos-release)

~/bin/centos6오류 처리가 없지만 ~/bin/centos7Fedora나 다른 것에서는 무의미한 오류 메시지가 표시됩니다 .바로 길에 있어. (아마도 이것을 실행하기 전에 명령문을 사용하여 centos-release가 존재하는지 확인할 수도 있습니다 if.)

--nosignatures --nodigest또한 이 RPM 명령의 속도를 수백분의 1초까지 높이기 위해 추가할 수도 있습니다 . 큰 문제는 아니지만 새 로그인 셸마다 발생하므로 추가로 입력할 가치가 있는 것 같습니다.

관련 정보