원격 SSH 로그인을 위한 대화형 스크립트 [닫기]

원격 SSH 로그인을 위한 대화형 스크립트 [닫기]

지난 며칠 동안 저는 처음으로 bash 스크립팅을 접했습니다. 여러 서버/장치에 연결할 수 있는 매우 간단한 것을 만들고 싶습니다. 내 생각은 FQDN과 설명이 포함된 모든 장치의 목록(txt 파일)을 갖는 것입니다. 스크립트는 목록을 읽고 모든 장치를 목록 형식(예: ID 추가)으로 표시해야 합니다. 그런 다음 장치의 ID를 연결하면 스크립트가 해당 장치에 연결됩니다. 어떻게 해야 하나요?

미리 감사드립니다.

답변1

select다음 명령을 사용할 수 있습니다 .

#!/usr/bin/env bash

readarray -t servers < input_file.txt

[[ ${#servers[@]} -eq 0 ]] && exit 1

select server in "${servers[@]}"; do
   IFS= read -r -p "Enter username: " username
   ssh "${username:-default}@${server:-${servers[0]}}"
done
  • readarray서버를 배열로 저장합니다. 파일 없이 서버를 수동으로 저장할 수도 있습니다.servers=(server1.com server2.com)
  • select그런 다음 서버 중 하나에 해당하는 번호를 입력하라는 메시지가 표시됩니다.
  • 잘못된 옵션을 입력하면 ${server:-${servers[0]}}파일의 첫 번째 서버 주소가 사용됩니다.
  • read사용자 이름을 입력하라는 메시지가 표시됩니다
  • 빈 사용자 이름을 입력하는 경우(예: 메시지가 표시될 때 Enter 키를 누름 read) 선택한 사용자 이름이 ${username:-default}사용됩니다 .default

관련 정보