scp에서 호스트 이름 필수

모두가 한 번은 scp에서 다음과 같은 실수를 한 적이 있을까 생각합니다.



리모트 호스트에 scp 하려고 했지만, : (을)를 붙여 잊어, 호스트명의 파일이 로컬에 완성되어 버렸습니다. 이 오류를 방지하려면 .bashrc 또는 .zshrc에서 다음과 같은 함수를 정의합니다.
scp() {
  (
    while test $# != 0; do
      case "$1" in
        -c|-F|-i|-l|-o|-P|-S) shift  ;;
        *:*)                  exit 0 ;;
      esac
      shift;
    done
    exit 1;
  )
  if [ $? = 0 ]; then
    command scp "$@"
  else
    echo >&2 "scp: No host name"
  fi
}
scp 셸 함수를 정의하여 함수 측에서 인수에 호스트 이름%s:%s이 포함되어 있는지 확인합니다. 호스트 이름이 인수에 포함되면 scp 명령을 호출하고 포함되지 않으면 오류를 표시합니다. 이것으로 실수로 로컬끼리의 카피를 해 버리는 스트레스를 회피할 수 있습니다.

좋은 웹페이지 즐겨찾기