이전에 누군가가 이 오류에 대해 질문했다는 것을 알고 있습니다. 하지만 이 경우 별칭의 경우 이것이 작동하지 않는 이유를 알 수 없는 것 같습니다.
나는 다음을 가지고 있습니다
alias scpip='scp $1 [email protected]:~'
scpip file
나는 ip.edu의 사용자 홈 디렉토리에 파일을 복사 할 수 있는 사용 사례를 원합니다 . 대신 오류가 발생했습니다.
scp: /home/user: not a regular file
"수동으로" 수행하면 작동합니다. 매개변수가 있는 별칭으로 작동하도록 하려면 어떻게 해야 합니까?scp file [email protected]:~
답변1
명령을 실행할 때 첫 번째 인수 또는 $1
가 디렉터리(인 것으로 보인다) 인 경우 -r
데이터 포함 여부에 관계없이 스위치를 사용하여 복사해야 합니다. 별칭으로 실행할 수도 있지만 더 복잡하고 노력할 가치가 없습니다. 그냥 스크립트를 작성하는 것이 좋습니다.
scpip
/home/ 디렉터리에 이름이 지정된 파일을 만듭니다.
내용은 다음과 같습니다.
scp -r $1 [email protected]:~
실행 비트 추가:
chmod u+x /home/directory/scpip
귀하의 라인에 ~/.bashrc
다음 줄을 추가하십시오
export PATH=/home/directory:$PATH
초기화:
. ~/.bashrc
마지막으로 스크립트를 실행합니다.
scpip file
이것은 첫 번째 매개변수를 사용합니다. 파일인 경우
scp -r file [email protected]:~
디렉토리인 경우
scp -r directory [email protected]:~