这次部署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
起到一样的效果