파일 경로의 공백 처리

파일 경로의 공백 처리

나는 이것을 가지고있다:

muh_dir=`cd $(dirname "$BASH_SOURCE") && pwd`

예, 위의 내용을 테스트했는데(백틱이 있음) 비밀번호의 공백을 잘 처리하지 못합니다. 반면에 다음이 더 좋습니다.

muh_dir="$(cd $(dirname "$BASH_SOURCE") && pwd)"

내 문제는 내 명령에 3개의 문자가 추가되고 편집기의 구문이 변경된다는 것입니다. 첫 번째 접근 방식이 훨씬 낫습니다. 더 짧은 구문으로 공백을 처리할 수 있는 방법이 있습니까? 아니면 그냥 놔둘 건가요?

답변1

두 코드 예제 모두 실패합니다.

muh_dir=`cd $(dirname "$BASH_SOURCE") && pwd` muh_dir="$(cd $(dirname "$BASH_SOURCE") && pwd)"

추가해야 하는 최소 견적은 다음과 같습니다.

muh_dir=`cd "$(dirname "$BASH_SOURCE")" && pwd`
            ^                         ^             Note the quotes.

그러나 다음을 사용하십시오 $(...).

muh_dir=$(cd "$(dirname "$BASH_SOURCE")" && pwd)

답변2

견적을 누른 다음 More Quotes™를 사용하세요. 이것은 정말로 당신이 할 수 있는 가장 간단하고 효과적인 일입니다.

그런데 모든 코드의 가장 중요한 속성은 유지 관리 가능성입니다. 문자 수는 유지 관리 가능성과 매우 약한 상관관계가 있습니다. 공백을 처리하기 위해 45자에 3자를 추가(6.7% 증가)해도 원격으로 코드 코가 트리거되지 않습니다.

관련 정보