我希望使用shell脚本scp
从远程计算机到我的计算机的文件:
SRC_PASS="pass"
SRC_PORT="22"
SRC_USER="root"
SRC_IP="x.x.x.x"
TAR_SRC="/tmp/abc.gz"
echo $SRC_IP
sshpass -p $SRC_PASS scp -P $SRC_PORT $SRC_USER@$SRC_IP:$TAR_SRC /tmp/xy.gz
我已调试并发现$SRC_IP
由于某种原因没有正确存储IP地址。
例如,如果我使用它,它可以工作:
sshpass -p $SRC_PASS scp -P $SRC_PORT $SRC_USER@x.x.x.x:$TAR_SRC /tmp/xy.gz
答案 0 :(得分:-2)
我相信你需要将你的变量名括在花括号中,这样shell就不会考虑" @"或":"作为变量名称的一部分。例如:
sshpass -p $SRC_PASS scp -P $SRC_PORT ${SRC_USER}@${SRC_IP}:${TAR_SRC} /tmp/xy.gz
如果这不是问题且脚本是bash,请使用
bash -x /path/to/script.txt
执行它并查看问题。