![맞춤 위치 별칭 정의](https://linux55.com/image/160550/%EB%A7%9E%EC%B6%A4%20%EC%9C%84%EC%B9%98%20%EB%B3%84%EC%B9%AD%20%EC%A0%95%EC%9D%98.png)
매번 전체 경로를 지정하지 않고 디렉토리에 액세스하는 방법을 찾으려고 합니다. 예를 들어, 나는 많은 비디오를 다운로드하고 모든 비디오를 저장하도록 폴더를 설정했습니다. 여러 경우에 동일한 폴더에 여러 번 액세스하고 해당 폴더에서 콘텐츠를 이동/복사할 것이기 때문에 다음을 찾고 있습니다. 터미널에서 폴더를 빠르게 참조할 수 있게 해주는 앨리어싱(또는 이와 유사한 것) 정의 방법(예:
mv video.mp4 VIDFOLDER
어디
VIDFOLDER=/path/to/my/folder
지금은 환경 변수 설정만 시도했지만 작동하지 않는 것 같습니다. 다른 방법을 찾아보았지만 별로 찾지 못했습니다. 어떤 아이디어가 있나요?
답변1
vidmv () { command mv "$@" /path/to/my/folder; }
mv
누락되거나 읽을 수 없는 파일 오류는 평소대로 처리됩니다. 이는 또한 모든 기존 mv
옵션( -T
작동하지 않는 옵션 제외) 을 지원한다는 장점이 있습니다 . 예를 들어 -v
장황한 내용, -n
스포일러 없음, -u
업데이트만 포함 등입니다.
예를 들어 다음과 같이 실행합니다.
vidmv -v -u *.mp4
참고: command
의 함수는 PATH에 있는 대로 실행되며 mv
이라는 별칭이나 함수는 무시됩니다 mv
. 예를 들어, 옵션으로 지정하지 않는 한 alias mv='mv -i'
이 함수는 이를 무시하고 실행하는 것이 일반적인 관행입니다.mv
-i
vidmv
또는
vidmv () { command mv "$@" "$VIDFOLDER"; }
이 버전에서는 기능을 재정의하지 않고도 대상을 변경할 수 있습니다. 물론 VIDFOLDER
현재 쉘이나 .bash_profile
/ 등에서 .bashrc
미리 정의되어 있어야 합니다.
답변2
거의 다 왔습니다:
mv video.mp4 VIDFOLDER
꼭 그럴 필요는 없습니다 mv video.mp4 "$VIDFOLDER"
. $
이 변수는 필수입니다 . 변수 할당 중에는 사용하면 안 됩니다.
export VIDFOLDER=/path/to/my/folder
- 파일 에 들어가야 합니다 .bashrc
.
대안으로 이에 대한 기능을 설정할 수 있습니다( .bashrc
또는 .bash_aliases
).CAS에서 제공하는 기능