前言
做个实验,尝试在fedora-server-x86_64-22编译修改bash-4.4.12源码.
bash工程还是第一次玩,没看清脉络,只是先编译过。
吃饭还是要细嚼慢咽才行。
实验
bash工程
编译过程
dnf install gcc
dnf install kernel-devel
dnf install glibc-static
./configure
make
编译错误的解决
Q : /usr/bin/ld: cannot find -lc
A : dnf install glibc-static
工程走读
shell.c 工程入口 int main (argc,argv)
really_add_history
edit_and_execute_command
void ls_fn_execute_command_hook(const char* psz_cmd)
{
if (NULL != psz_cmd) {
internal_inform("ls_fn_execute_command_hook(%s)\r\n",psz_cmd);
}
}
总结
bash工程有些函数需要一些环境宏才能跑,否则调用了也没用。
原文地址:https://www.jb51.cc/bash/389172.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。