현재 내 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"/'
물론, 다운로드 폴더의 이름을 바꾸거나 위치를 변경할 수도 있습니다(또는 경로에 공백 없이 심볼릭 링크를 사용할 수도 있습니다).