永发信息网

shell用gzexe加密后执行报错

答案:1  悬赏:50  手机版
解决时间 2021-03-02 16:56
  • 提问者网友:川水往事
  • 2021-03-02 01:13
shell加密前执行没问题,使用gzexe对shell加密,加密后执行shell报错,报路径找不到:
grep: /tmp/gzexe.hmjGo25124/COCKPIT_INC.ini: No such file or directory
local: /tmp/gzexe.hmjGo25124/COCKPIT: No such file or directory
路径部分的是这么写的:
if [ "$1" == "RT" ] ; then
CFG_FILE="$CFG_PATH/COCKPIT_RT.ini"
FILE_PATH="$CFG_PATH/COCKPIT_RT"
elif [ "$1" == "INC" ] ; then
CFG_FILE="$CFG_PATH/COCKPIT_INC.ini"
FILE_PATH="$CFG_PATH/COCKPIT"
fi
哪位大神知道啥原因,求解决啊!

知道怎么回事了。gzexe 加密原理是把shell脚本压缩成二进制,执行时系统会把二进制文件先解压到一个临时目录,然后执行;所以脚本中如果用到配置文件的话,配置文件路径必须通过环境变量指定或者写死。不能通过获取脚本所在路径的方式指定,因为解压后的脚本不在原路径了!
最佳答案
  • 五星知识达人网友:青尢
  • 2021-03-02 02:46
试试没有加密的情况下是否报错,
还是这个问题的话, 能帮忙楼主搞定一下
shell编程 nginx php搭建都行
linux系统管理也可以
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯