我正在尝试编写一个 shell 函数来将文件 scp 到我的 AWS 主机
function ec2-scp() {
scp -i /path/to/pem/file.pem $1 [email protected]:.
}
我用它作为
ec2-scp server.war
我收到错误:
scp: .: not a regular file
但是当我用文件名替换 $1 并执行相同的操作时,它就起作用了。 这是一个我正在尝试 SCP 的战争文件。我该如何解决这个问题?
尝试像这样省略尾随点:
function ec2-scp() {
scp -i /path/to/pem/file.pem $1 [email protected]:
}
server.war 是链接吗?因为符号链接不是常规文件。 也尝试阅读此内容https://unix.stackexchange.com/questions/52634/error-using-scp-not-a-regular-file
根据user48435回答 - 只需添加-r 喜欢:
scp -i -r /path/to/pem/file.pem $1 [email protected]:.
就我而言,我试图上传一个
xcarchive
文件,但这实际上是一个目录。您可以使用 -r
标志上传它(以递归方式上传 archvie 的内容),或者更好地将 xcarchive 压缩为 zip 并上传。
我使用
scp -r -i
及其工作原理。