터미널 세션의 길이 찾기

터미널 세션의 길이 찾기

현재 터미널 세션의 길이를 출력하고 해당 길이로 다양한 다른 작업을 수행하기 위해 나만의 bash 스크립트를 만들려고 합니다.

제가 겪고 있는 문제는 스크립트에 있습니다.

#!/bin/bash

SESSIONLENGTH=$(echo $SECONDS)
echo $SESSIONLENGTH

...bash 쉘의 또 다른 인스턴스를 생성합니다(또는 적어도 나는 그것이 일어나고 있다고 믿습니다). 여기서 스크립트를 실행하는 쉘의 값 대신 자체 $SECONDS값이 할당됩니다 .$SESSIONLENGTH$SECONDS

제 질문은 현재 세션의 길이를 스크립트로 어떻게 반환할 수 있느냐는 것입니다.

답변1

넌 할 수있어

source /path/to/script

또는

. /path/to/script

현재 세션의 스크립트에 있는 명령을 실행합니다 bash. 참고: 이 경우 현재 세션이 완료되므로 스크립트에서 호출하지 마십시오 exit(아마도 쉘이 종료될 때 터미널 에뮬레이터가 닫히는지 확인하기 전).

반면에 세션 시간만 측정하는 경우에는 다음과 같이 할 수도 있습니다.

time bash

세션 을 종료하면 bash해당 세션에서 보낸 시간이 인쇄됩니다. 여러 쉘 간에 이식 가능합니다( bash및 뿐만 아니라 zsh가 있습니다 $SECONDS).

관련 정보