x.env와 y.env라는 두 개의 env 파일이 있습니다. 변수의 순서는 다르지만 내용은 동일하지만 다를 수 있습니다.
변수를 구별하는 데 사용할 수 있는 도구가 있나요?
env -i (
# clear all envs
source x.env;
env | sort > x.sh
)
env -i (
# clear all envs
source y.env;
env | sort > y.sh
)
diff x.sh y.sh
이것이 최선의 방법입니까? 여러 변수가 누락된 경우 비교가 복잡해지며 그다지 유용하지 않을 수 있습니다. 반면 변수 이름을 하나씩 비교하는 것이 더 나을 수 있습니다.
답변1
bash
인라인 명령 리디렉션을 허용하는 다른 셸이나 실행 중인 경우 ,
comm -3 <(sort x.env) <(sort y.env)
또는 질문에 표시된 변수를 얻으려면 다음을 시도할 수 있지만 LC_*
정렬 순서에 영향을 줄 수 있는 로케일 변수의 차이에 유의하세요. 따라서 comm
입력이 정렬되지 않았다는 불만이 발생할 수 있습니다.
comm -3 <(. x.env; env | sort) <(. y.env; env | sort)