터미널에서 변수에 파일/폴더 경로를 지정하는 방법

터미널에서 변수에 파일/폴더 경로를 지정하는 방법

다음과 같은 경로가 있다고 가정해 보겠습니다.

/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"

관련 정보