Macosx Yosemite에서 매우 간단한 bash 스크립트를 실행하고 있습니다.
#!/bin/bash
makefilePath=$(echo $(pwd)/make.sh | sed 's/ /\\ /')
echo $makefilePath
source "$makefilePath"
처음 세 줄은 예상대로 작동하지만 네 번째 줄에서는 오류가 발생 하고 복사-붙여넣기를 통해 셸에서 직접 명령을 실행 No such file or directory
해도 정상적으로 작동합니다.makefile
문제가 무엇인지 모르겠습니다. 도와주세요.
답변1
실제 내용을 작성하지 않았지만 PWD
공백이 포함되어 있다고 가정하므로 sed 명령은 파일 이름을 손상시켜 더 이상 원본 파일을 나타내지 않습니다.
손상된 파일 이름은 쉘 확장(및 큰따옴표 사용)을 통해 문자 그대로 해석됩니다. 또한 '\\'
원하는 대로 작동하지 않을 수도 있습니다.