
다음과 같은 경로가 있다고 가정해 보겠습니다.
/home/$USER/Downloads/My Folder
FILE_NAME
위에서 주어진 File-Path를 다음과 같이 변수에 할당하려고 했습니다 .
FILE_NAME=/home/$USER/Downloads/My Folder
$FILE_NAME
출력은 다음과 같습니다.
bash: /home/$USER/Downloads/My :No such file or directory
이 문제를 해결하는 방법은 무엇입니까?
답변1
경로에 공백 문자가 포함된 경우 따옴표를 사용해야 합니다.
FILE_NAME="/home/$USER/Downloads/My Folder"
답변2
문제는 이름에 공백이 포함되어 있다는 것입니다. 이 문제를 해결하는 가장 간단한 방법은 전체 경로 문자열을 따옴표로 묶는 것입니다. 즉, 귀하의 경우에 FILE_NAME="/home/${USER}/Downloads/My Folder"
사용하는 이유 "
는 대체가 필요한 $USER를 사용하기 때문입니다. '
이런 일은 발생하지 않습니다.
두 번째 질문은 변수를 어떻게 사용할 것인가입니다. 귀하의 예에서는 ... 명령에서 CD를 삭제했다고 가정합니다. 그러나 ... 변수를 사용하려면 ... 아마도 그 사용 주위에 "를 사용해야 할 것입니다.
그래서 ... 내 추측으로는 ... cd "$FILE_NAME"