콜론/특수 문자 제거를 위한 scp 별칭

콜론/특수 문자 제거를 위한 scp 별칭

최근 Windows 10에는 Windows용 Linux 하위 시스템 이니셔티브의 일부로 bash 셸이 추가되었습니다. 이것은 일반적으로 훌륭하지만 흥미로운 문제에 직면했습니다. Windows 파일 시스템은 파일 이름에 콜론/기타 특수 문자를 허용하지 않습니다. 그래서 다음과 같은 것을 시도할 때 scp:

scp user@remote:/path/to/file-2016-09-07_08:45:45.txt .

scp에서 잘못된 인수 오류가 발생합니다. 이를 해결하는 한 가지 방법은 특수 문자 없이 새 파일 이름을 지정하는 것입니다. 그러나 다음과 같은 작업을 수행하려고 할 때는 번거롭습니다.

scp user@remote:/path/to/file-2016-09-07* .

모든 파일에서 잘못된 매개변수 오류가 발생하기 때문입니다. _예를 들어, .bashrc 파일에 일부 코드를 넣어 scp 인수를 허용하고 문제가 있는 각 문자를 로 바꿀 수 있습니까? 동등하다

 scp user@remote:/path/to/file-2016-09-07_08:45:45 file-2016-09-07_08_45_45.txt

하지만 휴대용인가요 *?

답변1

이름을 변수에 넣으면 이름에 대한 매개변수 대체를 수행할 수 있습니다. 그러나 쉘은 원격 파일 시스템에서 scp"볼 수 있는" 와일드카드 확장을 "보지" 않으므로 쉘 별칭은 아무런 효과가 없습니다.

설명을 기반으로 요청한 작업을 수행하는 스크립트를 작성할 수 있습니다. 예를 들어 다음과 같습니다.

  • ssh원격 파일 이름 목록을 얻으 려면
  • 루핑 중...
  • 로컬 파일 이름을 형성하고
  • 실제 원격/로컬 파일을 복사하려면 scp를 사용하세요.

답변2

원본 파일 이름에 대체 유니코드 문자를 사용하여 이름 지정 문제 없이 복사할 수도 있습니다.

관련 정보