재시작 등을 통해 기록을 복구하는 데 도움이되도록 $ TERM_SESSION_ID와 같은 주요 데이터를 명령 기록에 저장하고 싶습니다. 화면 히스토리에서 명령 응답 출력을 더 이상 사용할 수없는 경우 유지됩니다.
여러 가지 방법을 시도했지만 세션 텍스트에 TERM_SESSION_ID 데이터가 표시되지만 명령 기록에 저장되지 않습니다.
1014 26/12 22:28:28 echo $TERM_SESSION_ID
1015 26/12 22:44:58 `echo $TERM_SESSION_ID`
1016 26/12 22:45:35 echo ${TERM_SESSION_ID}
1017 26/12 22:45:50 echo `$TERM_SESSION_ID`
1018 26/12 22:46:05 echo `echo $TERM_SESSION_ID`
1019 26/12 22:49:28 echo ${TERM_SESSION_ID}
화면에서 보았지만 오류 메시지는 신경 쓰지 않습니다.
$ echo ${TERM_SESSION_ID}
w3t0p0:5554ACED-B4C5-4E5A-A7C2-F5215ED4F4D7
$ echo `$TERM_SESSION_ID`
-bash: w3t0p0:5554ACED-B4C5-4E5A-A7C2-F5215ED4F4D7: command not found
나는 이것이 같은 종류의 결과를 얻었 기 때문에 이것이 bash-valid 명령이 아닌 "info 명령"이라고 생각하지 않습니다.
1026 26/12 23:08:24 test="ls"
1027 26/12 23:08:27 echo $test
1028 26/12 23:09:03 ${test}
ls
여기 명령의 출력을 보았지만 기록 된 명령은 ${test}
입력 된 것과 같습니다
쉘 변수의 데이터를 기록 / 포함하기 위해 명령 히스토리를 얻는 방법을 알려주시겠습니까?
예를 들어 :
1029 26/12 23:10:05 ls
1030 26/12 23:10:06 session
w3t0p0:5554ACED-B4C5-4E5A-A7C2-F5215ED4F4D7
명령 기록은 입력 한 방식으로 실행 된 명령의 기록입니다. 여기서 목표는 무엇입니까? 역사에서 변수 값을 유지 해야하는 이유는 무엇입니까?
—
nohillside
역사에 대한 세션은 이미 애플 측의 일부 영리한 스크립팅에 의해 유지됩니다
—
nohillside
종료 및 재부팅시 이전 세션 데이터를 찾을 수있는 최상의 기회를 확보하고 싶습니다. bash, screen 등에는 명령 기록에 대한 많은 로그 파일이 존재한다고 생각하지만 여러 사용자가 로그인 한 (다른 모양으로) 6 개의 UI 창과 여러 개의 "화면"하위 창 및 백그라운드 프로세스가 있으면 찾기가 쉽지 않습니다. 따라서 명령 기록에서 로그 파일 이름과 관련된 세션 ID 데이터를 표시 할 수 있으면 많은 파일 중에서 필요한 정확한 파일에 직접 액세스 할 수 있습니다. 그리고 ... 고마워!
—
colin
즉, 스크롤 백 당 시스템 출력이 포함 된 파일을보고 싶습니다. 일부 활동의 경우 시간이 너무 길어지면 다른 활동을 정기적으로 지우는 경향이 있습니다.
—
colin
특히 (매우 훌륭한) iTerm2는 충돌, 강제 종료, 재부팅 등에서 세션 연속성을 제공하지만 여러 창에서 세션 기록을 창에 할당하는 것은 OS에 의해 무작위로 수행됩니다. 따라서 TTY로 유지하는 명령 기록이 스크롤 백 데이터와 일치하지 않습니다. 분리 / 연결을 통해 tty 세션을 창 A에서 B로 바꾸는 방법을 찾는 것이 가치가 있지만 dtrace를 사용하는 일부 플랫폼에서는 까다 롭고 Darwin / Mac OS에서는 불가능합니다.
—
colin