"scp" 또는 "rsync"(예: "cp -t")의 플래그를 사용하여 대상 디렉터리를 정의합니다.

"scp" 또는 "rsync"(예: "cp -t")의 플래그를 사용하여 대상 디렉터리를 정의합니다.

cp나는 종종 네트워크를 통해 (다소 복잡한) 대상 디렉토리에 다양한 수의 특정 파일을 복사하기 때문에 ' 플래그를 사용할 수 있다면 내 생활이 훨씬 더 쉬울 것입니다. 이를 사용하면 -t"시작 시" 대상 디렉토리를 지정할 수 있습니다. 최종 주장이 아닙니다.

이렇게 하면 이전에 파일이 몇 개 있었는지에 관계없이 (복잡한) 설정과 대상 시스템 및 디렉터리를 유지하면서 CTRL-R복사 명령을 실행한 다음 이전에 복사한 파일을 실행할 수 있습니다.CTRL-W

scp하지만 에 대한 적절한 플래그를 찾을 수 없습니다 rsync. (이 옵션을 제공하는 경우 이 중 하나를 사용하겠습니다.)

비슷한 것을 제공하거나 scp제공 합니까 ?rsynccp -t

필사적으로 나는 bash히스토리 컨트롤, 특히 매개변수 추출 메커니즘을 가지고 놀기도 했습니다. 불행하게도 "the" 형태로 범위를 지정하는 것은 불가능한 것 같습니다.엑스-마지막 매개변수", 항상 매개변수 수가 없기 때문에 필요합니다(세어보지 않는 한...).

답변1

어쩌면 랩어라운드 함수를 정의할 수도 있습니다 scp.

scpt () {
    scp "$@" user@host:/some/convoluted/path
}

그럼 해

scpt file1
scpt /dir1/file2

scp또한 히스토리 상호작용을 통해 를 사용하여 이전 명령의 마지막 인수를 얻을 수 있으므로 !scp:$다음과 같은 작업도 수행할 수 있습니다.

scp /dir1/file2 !scp:$

(대상 디렉토리는 일반적으로 마지막 디렉토리이기 때문에)

관련 정보