Password
帶有所選文件和目錄以供下載的 SCP 命令詢問每個新文件或目錄的密碼
在我的 Fedora 20 系統上,我經常使用 scp,這是我第二次遇到這個問題,當我執行這個命令時:
scp -r -P PORT user@host:/home/user/something/{file1,folder1,folder2,folder3,folder4} folder/folder2/
它要求我輸入它傳輸的每個文件/目錄的密碼。
user@host's password: "password here"
問題:
這裡發生了什麼?
這是正常的嗎,我認為這是非常奇怪的行為?
您的本地 shell(可能是 bash)正在擴展
user@host:/home/user/something/{file1,folder1,folder2,folder3,folder4}
進入:
user@host:/home/user/something/file1 user@host:/home/user/something/folder1 user@host:/home/user/something/folder2 user@host:/home/user/something/folder3 user@host:/home/user/something/folder4
相反,您可以這樣做:
scp -r -P PORT user@host:"/home/user/something/file1 /home/user/something/folder1 /home/user/something/folder2 /home/user/something/folder3 /home/user/something/folder4" folder/folder2/
或者,如果您知道遠端使用者的登錄 shell 是 bash,您也可以使用大括號擴展:
scp -r -P PORT user@host:"/home/user/something/{file1,folder1,folder2,folder3,folder4}" folder/folder2/
讓遠端 shell 將字元串拆分為參數而不是本地 shell。