간단한 명령 앨리어싱 및 내보내기

간단한 명령 앨리어싱 및 내보내기

이와 같은 간단한 명령의 경우 less별칭을 만드는 것이 더 낫습니까, 아니면 내보내기 옵션을 만드는 것이 더 낫습니까? 다른 것보다 이점이 있습니까?

less예를 들어 항상 -R원래 문자를 표시하는 옵션을 사용 하려는 경우 두 솔루션 모두 작동합니다.

  1. export LESS='-R'
  2. alias less='less -R'

이와 같은 간단한 경우에 대해 다른 것보다 이점이 있습니까? 한 상황은 문제를 일으키고 다른 상황은 문제를 일으키지 않는 상황이 있습니까?

여러 info페이지를 읽고 man검색해 보았지만 여전히 이 부분에 머물고 있습니다.

답변1

둘 사이의 한 가지 차이점은 별칭은 단지 셸 기능일 뿐이라는 것입니다. 환경 변수는 의도적으로 지우지 않는 한 모든 하위 프로세스에 의해 상속됩니다.

lesstcsh다른 셸(예: ), man, vim, 등 을 통해 간접적으로 실행되더라도 psql환경 변수가 작동할 가능성이 더 높습니다.

답변2

많은 것은 사용하는 도구에 따라 다릅니다. 일부 도구를 사용하면 둘 중 하나만 사용할 수 있는 반면, 다른 도구는 하나만 사용할 수 있습니다.

일부 명령은 다른 명령에 의해 호출되고 환경 변수를 읽고 동일한 스위치를 허용하지만 모든 명령에 동일한 스위치를 추가하는 것은 번거롭고 컴파일러와 마찬가지로 make환경 변수가 빛나는 곳입니다. 변수를 설정한 다음 잊어버립니다. 또 다른 장점은 임시적이며 단일 명령에 적용할 수 있다는 것입니다.

결론은 선호도와 작업에 가장 적합한 것이 무엇인지의 문제입니다. 때로는 별칭을 설정하는 것이 환경 변수보다 더 쉽고 영구적이며, 때로는 환경 변수와 동일한 방식으로 작동하는 도구 세트를 원할 수도 있습니다.

관련 정보