변수를 인용하지 않고 `bashrc`로 디렉토리 내보내기

변수를 인용하지 않고 `bashrc`로 디렉토리 내보내기

현재 내 I 에서 bashrc변수를 내보내는 중입니다 . export dl="path/to/Downloads"경로에 공백이 포함되어 있으므로 mv디렉토리에서 항목을 가져올 때마다 변수를 인용해야 합니다( dl예 : 명령줄에서 변수를 인용하지 않고 mv "$dl"/*.py somewhere/else변수를 정의할 수 있는 방법이 있습니까?). dl하다 mv $dl/*.py somewhere/else?

여기에서 비슷한 질문을 봤지만 이 특정 문제에 대한 해결책을 찾을 수 없었습니다. 중복된 게시물이더라도 양해해 주시기 바랍니다.

답변1

아니 당신은 할 수 없습니다. 다른 쉘 언어를 사용하거나, 공백 없이 디렉토리에 대한 심볼릭 링크를 생성하거나, 일부 앨리어싱 트릭을 사용할 수 있습니다.

나는 개인적으로 후자를 빨리 잊어버리기 때문에 그렇게 하지 않을 것이다 ;-)

그러나 어쨌든 예는 다음과 같습니다.

# usage: q cmd ...
# just like cmd ..., only without IFS splitting
alias q='_q=$(fc -nl -0); IFS= eval "${_q#*q}" #'

$ src='foo bar' dst='baz quux'
$ q mkdir -p $src/dir $dst
$ q mv $src/dir $dst
$ q ls $dst
dir

답변2

전혀 문제가 되지 않지만 문제가 다운로드 폴더에서 파일을 이동하는 일반적인 작업인 것이 분명한 경우 특정 별칭을 사용할 수 있습니다.

alias dl-mv='mv "$dl"/'

물론, 다운로드 폴더의 이름을 바꾸거나 위치를 변경할 수도 있습니다(또는 경로에 공백 없이 심볼릭 링크를 사용할 수도 있습니다).

관련 정보