내 컴퓨터에서 로그인 세션을 사용하고 있습니다.
내 문제는 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
파일이 생성되어 문제가 해결되었습니다.