avatar
sanghyeon.dev.log

터미널에서 내 IP 주소 바로 가져오기

내 IP주소를 가져오고 바로 복사까지 해보자
shell
5 months ago
·
4 min read

내 로컬에서 프로젝트를 실행시키고, 같은 망을 사용하는 팀원들에게 내가 만든 페이지를 공유해주고 싶었다. 그렇게 하려면 클라우드 등에 배포를 해서 보여줄 수도 있지만, 나는 그냥 바로 보여주고 싶었기에 localhost대신 내 IP를 붙여 공유 했다.

Mac 에서 내 IP를 알아내는 명령어는 다음과 같다.

# ethernet 연결일 경우
ipconfig getifaddr en0

# wireless 연결일 경우
ipconfig getifaddr en1

매번 확인이 필요할 때마다 터미널을 들어가서 저 명령어를 치고.. 명령어를 까먹어서 다시 검색해서 찾고, 결과를 복사해서 포트를 붙이고.. 다시 복사하고를 반복했다.

생각보다 내 아이피를 확인할 일이 많았고, 명령어가 길고 복잡했기에 간단한 명령어로 내 IP를 알아낸 후 바로 클립보드로 복사되게끔 만들었다.

Shell Script 작성

#!/bin/bash

# IP 주소 가져오기
ip=$(ipconfig getifaddr en0)

# 포트 번호가 주어지면 ip:port 형식으로 출력 및 클립보드에 Copy
if [ -n "$1" ]; then
  echo "$ip:$1" | pbcopy
  echo "Public IP with port: $ip:$1"
else
  echo "$ip" | pbcopy
  echo "Public IP: $ip"
fi

위 Script 내용을 요약하면 다음과 같다.

  • 실행 하면 ipconfig getifaddr en0 명령어를 이용하여 내 IP를 불러온 뒤, 바로 클립보드에 넣는다.

  • 포트 번호를 인수로 받으면 <IP Adress>:<port> 식으로 클립보드에 들어간다.

작성 후 이 파일을 실행 시킬 수 있도록 권한을 줘야한다.

chmod +x get_ip.sh

Alias 작성

이제 작성한 스크립트를 터미널에서 간단한 명령어로 실행시킬 수 있게 alias를 작성해보자. 그러기 위해서는 .zshrc를 편집해야 한다.

 vim ~/.zshrc

맨 마지막 줄에 다음과 같이 추가하고 :wq 명령어를 통해 빠져나온다. alias 뒤에 들어갈 텍스트는 자유다. 나는 getip로 정했다.

alias getip='get_ip.sh 파일 위치'

아래 명령어로 변경 사항을 적용 시킨다.

source ~/.zshrc

실행!

이제 터미널에서 지정한 alias를 바로 쳐보자. 그럼 터미널에 내 아이피가 출력되고, 클립보드에도 바로 들어간걸 확인할 수 있다.

until-1188






안녕하세요