网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

scp'adport'22问题解决-创新互联

在写一个scp推送文件脚本的时候遇到的问题

创新互联建站长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为沙市企业提供专业的网站建设、网站制作,沙市网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。

脚本

# cat test.sh #!/bin/bash IP=`head -1 hosts.txt|tail -1|awk -F" " '{print $1}'` PORT=`head -1 hosts.txt|tail -1|awk -F" " '{print $2}'` scp -P ${PORT} -r $1 ${IP}:/tmp

执行结果

# sh test.sh /tmp/yum.log 'ad port '22 lost connection

hosts.txt文件内容

# cat hosts.txt  192.168.0.103 22

原因分析

开启shell调试选项,执行结果如下

# sh -x test.sh /tmp/yum.log ++ awk '-F ' '{print $1}' ++ tail -1 ++ head -1 hosts.txt + IP=192.168.0.103 ++ awk '-F ' '{print $2}' ++ tail -1 ++ head -1 hosts.txt + PORT=$'22\r' + scp -P $'22\r' -r /tmp/yum.log 192.168.0.103:/tmp yum.log 'ad port '22 lost connection

奇怪为什么会PORT=$'22\r',百度$'\r'遇到这种问题还不少,\r是windows的换行符,问题可能出在这里hosts.tx文件是我从windows下写的,而后上传到linux;由于$2是最后一个字段所以$2包含了\r

解决办法

方法一:在hosts.txt文件内容的每一行后添加一个空格

方法二:安装dos2unix

# yum install dos2unix -y ... # dos2unix hosts.txt  dos2unix: converting file hosts.txt to UNIX format ...

再次执行脚本成功

# sh -x test.sh /tmp/yum.log  ++ awk '-F ' '{print $1}' ++ tail -1 ++ head -1 hosts.txt + IP=192.168.0.103 ++ awk '-F ' '{print $2}' ++ tail -1 ++ head -1 hosts.txt + PORT=22 + scp -P 22 -r /tmp/yum.log 192.168.0.103:/tmp yum.log

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:scp'adport'22问题解决-创新互联
URL地址:http://bjjierui.cn/article/cedoch.html

其他资讯