달리기 ssh(또는 scp또는 lftp) 할 때마다 gpg-connect-agent updatestartuptty /bye먼저 달리기를 원합니다 . (이건 긴 이야기다.)
현재 내 .bashrc에 함수가 정의되어 있습니다.
ssh()
{
gpg-connect-agent updatestartuptty /bye >/dev/null 2>&1
$(which ssh) "$@"
}
이것은 잘 작동하지만 ssh가 이미 다른 것과 비슷한 별칭을 가진 다른 시스템에서 사용되는 경우 이식성 문제가 발생할 수 있다고 생각합니다.
명령 자체 ssh를 재정의하지 않고 사전 실행 "콜백"을 정의 할 수있는 방법이 ssh있습니까? ( trap DEBUG모든 명령 전에 주어진 명령을 실행하는 데 사용할 수 있다는 것을 알고 있지만 필요한 명령으로 만 제한하고 싶습니다.)
다시 설정 해야하는 것처럼 이식 할 수 없습니다. 또 다른 옵션은 ssh를 스크립트에 대한 심볼릭 링크로 만드는 것이지만 아마도 모든 종류의 문제가 발생할 것입니다. 그러나 당신은 어떤면에서 독립적 일 것입니다.
—
Seth
귀하의 질문을 이해하지 못하지만 실행
—
Anon
\ssh하면 별칭 세트를 재정의하고 원래 명령을 사용하고 있습니다. 따라서 할 수있는 일은 1. 함수와 다르게 겹치지 않도록 함수를 다르게 호출하는 것입니다. 2. ssh함수 에서 호출을\ssh
@ Seth : bash에 내장 명령 실행 콜백 메커니즘이 있는지 묻고 있습니다. 콜백 설정은 단순히 같은 이름의 함수로 명령을 재정의하는 것보다 방해가되지 않는다는 아이디어입니다. 별도의 스크립트 파일이 필요하지 않습니다. @Anon :``앞에 붙는 것은 별칭을 재정의하지만 기능은 무시합니다.
—
Ryan Lue