如何在shell脚本中存储IP地址?

时间:2018-01-11 15:29:37

标签: linux bash shell

我希望使用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 

1 个答案:

答案 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

执行它并查看问题。