私のコンピュータでログインセッションを使用しています。
私の問題は、history
ashシェルでコマンドを実行するときです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
ファイルが生成され、問題が解決されました。