不知道这是否是合适的论坛,但我在使用 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。