使用bash2py将bash转换为python时出现的问题

使用bash2py将bash转换为python时出现的问题

不知道这是否是合适的论坛,但我在使用 bash2py 将 bash 脚本转换为 python 时遇到问题。我已经运行了安装程序,一切似乎都很好。

Beginning configuration for bash-4.3-release for x86_64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for strerror in -lcposix... no
...
ls -l bash
-rwxr-xr-x 1 johannes johannes 5190160 jan  6 12:28 bash 
size bash
text       data     bss     dec     hex filename
1093876   46840   24080 1164796  11c5fc bash
mv bash bash2pyengine
cp bash2pyengine ~/bin/bash2pyengine
-rwxr-xr-x 1 johannes johannes 5190160 jan  6 12:28 bash2pyengine

当我尝试运行它时,它找不到命令(它是丹麦语,但希望你能明白)

johannes@JohaDebian:~/Hentet/bash2py/bash2py-3.6$ bash2pyengine -f 
/home/johannes/Dokumenter/check_temp.sh 
bash: bash2pyengine: kommando ikke fundet  
johannes@JohaDebian:~/Hentet/bash2py/bash2py-3.6$

我已将 bin 文件夹添加到$PATH

johannes@JohaDebian:~/Hentet/bash2py/bash2py-3.6$ export 
PATH="$HOME/bin:$PATH"

我已经使它可执行(我认为)

johannes@JohaDebian:~/Hentet/bash2py/bash2py-3.6/bin$ cd
johannes@JohaDebian:~$ cd bin
johannes@JohaDebian:~/bin$ ls
bash2pyengine
johannes@JohaDebian:~/bin$ chmod +x ~/bin/bash2pyengine

答案1

当安装已经退出并出现 1 个错误时,我尝试运行 bash2py 后也遇到了分段错误问题。但后来尝试了与视频中相同的版本uwaterloo bash2py 主页。即使安装 bash2py-2.3 时出现编译警告,它也能很好地工作,至少符合我对旧版本的期望。多个文件中只有一个文件退出:

Burp can't print
bash2pyengine: burp.c:54: increase_burp: Assertion `0' failed.
Aborted (core dumped)

感谢使用 for 循环迭代文件,只有一个文件受到影响。感谢作者制作并上传视频。

答案2

分段错误与 bash2py 最新版本中 xmalloc 的使用有关。感谢 Pradeep 的提示,我能够通过比较 3.6 版和 2.3 版的源代码来隔离这个问题。有关详细信息,请参阅以下 Github 问题: https://github.com/clarity20/bash2py/issues/5

相关内容