내 ~/.ssh/config
파일이 쉘 스크립트(또는 STDOUT으로 인쇄되는 다른 모든 것)에 의해 동적으로 생성되기를 원합니다.
파일을 읽으면 명령이 실행되고 해당 STDOUT이 읽히는 UNIX 트릭이 있습니까?
내가 원하는 것:
#!/bin/bash
echo "Hello World"
$ cat myfile
Hello World
답변1
실제 질문은 동적 구성이 필요한 이유(및 동적으로 생성된 구성을 피하는 방법)입니다.
파일을 읽으면 명령이 실행되고 해당 STDOUT이 읽히는 UNIX 트릭이 있습니까?
Bash에는 이를 수행하는 기능이 있는데, 이를 "프로세스 대체"라고 합니다.
ssh -F <( echo "Host *"; echo " User dummy" ) ssh.example.com
안타깝게도,openssh의 ssh에서는 작동하지 않습니다., 오류와 함께 종료되기 때문입니다.
Can't open user config file /dev/fd/63: No such file or directory
또한 일부 사람들은 FIFO 파일을 사용하기 위해 복잡한 방식을 사용하는 것 같습니다.여러 SSH 클라이언트 구성 파일, 그러나 궁극적으로 다음과 같이 단순화할 수 있는 별칭을 사용합니다.
alias ssh = '~/bin/gen_ssh_config.sh > /tmp/XX; ssh -F /tmp/XX'