일부 exec를 통해 스크립트가 어떻게 자체적으로 다시 실행될 수 있습니까?

일부 exec를 통해 스크립트가 어떻게 자체적으로 다시 실행될 수 있습니까?

ssh와 scp를 여러 번 사용하는 서버에서 데이터를 백업하기 위한 스크립트를 만들고 있습니다. 내 개인 키는 비밀번호로 보호되어 있지만 사용 중인 환경에는 SSH 에이전트가 없습니다.

스크립트가 다음을 사용하여 시작되었는지 확인하기 위해 스크립트에 조건을 추가하고 싶습니다.이 답변. 실행 중인 SSH 에이전트가 없으면 exec ssh-agent <original script relaunch>.

어떻게 하나요?

답변1

스크립트 자체를 래핑하려면 $0(프로그램/스크립트 이름) 및 $@(확장 인수 목록: 과 동일 "$1" "$2"...)을 사용합니다.

if something; then
    exec ssh-agent "$0" "$@"
fi

관련 정보