터미널에서 내 IP 주소 바로 가져오기
내 로컬에서 프로젝트를 실행시키고, 같은 망을 사용하는 팀원들에게 내가 만든 페이지를 공유해주고 싶었다. 그렇게 하려면 클라우드 등에 배포를 해서 보여줄 수도 있지만, 나는 그냥 바로 보여주고 싶었기에 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를 바로 쳐보자. 그럼 터미널에 내 아이피가 출력되고, 클립보드에도 바로 들어간걸 확인할 수 있다.