지금까지 몇 가지 다른 형식을 보았습니다.
따옴표와 대괄호 사용:
PATH="/usr/local/bin:${PATH}"
따옴표만 포함:
PATH="/usr/local/bin:$PATH"
전혀 없음:
PATH=/usr/local/bin:$PATH
내보내기는 모두 동일합니다.
export PATH
올바른/선호되는 접근 방식은 무엇입니까?
답변1
이는 PATH뿐만 아니라 일반적인 쉘 변수에 관한 것입니다.
다음은 오류를 줄일 수 있는 이유 ""
와 방법에 대한 몇 가지 예입니다 .{}
따옴표로 묶는 것이 더 안전합니다. 이렇게 하면 a=hello world
기대한 것을 얻지 못하지만 a="hello world"
얻을 수 있습니다.
{}
또한 사용하는 것이 더 안전합니다. h="hello"; echo "$hword"
작동하지 않지만 h="hello"; echo "${h}word"
작동할 것입니다.
답변2
그들은 모두 매우 효과적입니다. 하나가 다른 것보다 훨씬 낫지는 않지만 다음을 선호합니다.
export PATH=$PATH:/usr/local/bin
내보내기와 경로 설정을 한 줄로 처리합니다. 나는 또한 기존 경로 앞에 새 경로를 배치하지 않는 경향이 있지만 $PATH
어떤 경우에는 이전 시스템 라이브러리보다 새로운 자체 컴파일 라이브러리를 로드해야 할 수도 있습니다.
변수를 내보내려는 경우 예, 다음과 같이 참조하고 싶습니다.
export myservers="server1 server2 server3"
이제 다음 echo $myservers
을 볼 수 있습니다:
[user]# echo $myservers
server1 server2 server3
하지만 이 질문은 $PATH
쉘 변수와 아무 관련이 없기 때문에 'hello world'
시스템 경로로 인쇄하지 않았기 때문에 내 원래 게시물은 여전히 유효합니다.
[user]# echo $PATH ## Something you shouldn't be doing
/usr/local/bin:HELLO WORLD/sbin:/bin:/usr/sbin:WHY AM I DOING THIS?/usr/bin:/root/bin