이와 같은 간단한 명령의 경우 less
별칭을 만드는 것이 더 낫습니까, 아니면 내보내기 옵션을 만드는 것이 더 낫습니까? 다른 것보다 이점이 있습니까?
less
예를 들어 항상 -R
원래 문자를 표시하는 옵션을 사용 하려는 경우 두 솔루션 모두 작동합니다.
export LESS='-R'
alias less='less -R'
이와 같은 간단한 경우에 대해 다른 것보다 이점이 있습니까? 한 상황은 문제를 일으키고 다른 상황은 문제를 일으키지 않는 상황이 있습니까?
여러 info
페이지를 읽고 man
검색해 보았지만 여전히 이 부분에 머물고 있습니다.
답변1
둘 사이의 한 가지 차이점은 별칭은 단지 셸 기능일 뿐이라는 것입니다. 환경 변수는 의도적으로 지우지 않는 한 모든 하위 프로세스에 의해 상속됩니다.
less
tcsh
다른 셸(예: ), man
, vim
, 등 을 통해 간접적으로 실행되더라도 psql
환경 변수가 작동할 가능성이 더 높습니다.
답변2
많은 것은 사용하는 도구에 따라 다릅니다. 일부 도구를 사용하면 둘 중 하나만 사용할 수 있는 반면, 다른 도구는 하나만 사용할 수 있습니다.
일부 명령은 다른 명령에 의해 호출되고 환경 변수를 읽고 동일한 스위치를 허용하지만 모든 명령에 동일한 스위치를 추가하는 것은 번거롭고 컴파일러와 마찬가지로 make
환경 변수가 빛나는 곳입니다. 변수를 설정한 다음 잊어버립니다. 또 다른 장점은 임시적이며 단일 명령에 적용할 수 있다는 것입니다.
결론은 선호도와 작업에 가장 적합한 것이 무엇인지의 문제입니다. 때로는 별칭을 설정하는 것이 환경 변수보다 더 쉽고 영구적이며, 때로는 환경 변수와 동일한 방식으로 작동하는 도구 세트를 원할 수도 있습니다.