.ash_history 文件未创建

.ash_history 文件未创建

我正在我的灰机中使用登录会话。

我的问题是,history在 ash shell 中执行命令时,它返回0.这是因为.ash_history尚未创建。我尝试通过调试代码来分类问题ash.c。请找到我们感兴趣的代码片段。经过分析,我发现主目录设置为NULL,因此下划线的 if 条件失败并最终反映为.ash_history创建失败。

ash.c 的代码片段

 *#if MAX_HISTORY > 0 && ENABLE_FEATURE_EDITING_SAVEHISTORY
    if (iflag) {
        const char *hp = lookupvar("HISTFILE");
        if (!hp) {
            hp = lookupvar("HOME");
           ========================
            if(hp) {
           ===========
                hp = concat_path_file(hp, ".ash_history");
                setvar("HISTFILE", hp, 0);
                free(hp);
                hp = lookupvar("HISTFILE");
            }
        }
        if (hp)
            line_input_state->hist_file = hp;*

任何人都可以帮助我设置HOME目录。如果主目录是某个位置,则 if 条件将通过并且.ash_history文件也会被创建,这解决了我的问题。

相关内容