build bash-4.4.12 source code on fedora-server-x86_64-22

前言

做个实验,尝试在fedora-server-x86_64-22编译修改bash-4.4.12源码.
bash工程还是第一次玩,没看清脉络,只是先编译过。
吃饭还是要细嚼慢咽才行。

实验

bash工程

bash-4.4.12.tar.gz

编译过程

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工程有些函数需要一些环境宏才能跑,否则调用了也没用。

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...