Centos下如果是二进制文件,编辑是文本,后缀是sh也无法执行

这次部署redis遇到个问题,执行sh文件来启动redis,结果报配置文件无法打开。

 用vi打开sh文件反复检查过路径是对的。

然后手敲路径执行,运行正常;

直接执行sh文件不行:反复修改执行都没效果。

最后停下来复盘最近做了什么,考虑到这个文件是ftp下载下来的再进行编辑,当时还用了binary命令,下载redis安装包。

我考虑是不是这个sh文件是二进制的,而不是纯文本,所以才引起这个执行失败现象。

根据这个依据,马上删除 原来的sh文件,重新echo新建sh文件,再执行运行正常。

 各位,这个是ftp下载编码引起的问题吗?

这个是我本地模拟上传的原文 用十六进制进制查看内容的截图:

 

这是我模拟当时ftp用binary命令下载文件 用十六进制进制查看内容的截图:

 只是末尾部多了个0D,这个是windows格式的文本。用vi是不易看出来差别的,翻车在这里。

改进:

在linux下用hexdump 查看二进制文件

hexdump -C startRedis.sh

起到一样的效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值