iTerm2의 bash : $ TERM_SESSION_ID와 같은 변수를 명령 기록에 기록하는 방법


2

재시작 등을 통해 기록을 복구하는 데 도움이되도록 $ 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.