본문 바로가기
카테고리 없음

Expert | 쉘 스크립트 명령어 결과 변수

by 이망고_ 2022. 4. 28.

수많은 블로그들이 도움을 주었지만.. 

차근차근 잘 정리되어 있었던 블로그 링크들 투척

 

첫번째 블로그에서는 몇 가지 정말 지저분한 것들을 잘 정리해주었는데, 인상 깊었던 말은

bash 는 공백에 굉장히 민감하다는 것이다. 

이 실수는 s이랑 짜면서도 했던 실수인데 

0. 가장 기본적인 #!/bin/bash 는 쳐주고 시작

간간히 sh 로 써준 곳도 있는데(sh를 bash로 인식) 인식이 잘 안 될 수도 있으니 bash로 쳐줄거 추천드리고

쉘 프로그래밍 첫 줄에는 꼭 #!/bin/bash 쳐줍니다

1. PROC 변수 = 좌우로 공백 없이 입력

을 해주면, 변수 색깔이 딱 변한다.

2. 변수명=$(명령어)

바로 이 문제!!!

변수로 담아주는 과정에서 '' 를 달아주라는데... 달면은 echo로 출력했을 때 그냥 문자열로 나오는 문제

우리는 파일명 뒤에 wc | -l 을 붙여서 라인 수를 출력하도록 하고 싶은데요.. 

변수명을 지정할 때에도 $() 로 묶어주어라

 

 

3. 연산자

정수로 인식하는 것은 -eq (크거나 같다) 로 사용해줄 것

 

https://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/gotchas.html 

 

몇 가지 지저분한 것들(Gotchas)

 투란도트(Turandot): 수수께끼는 세 개, 그러나 죽음은 하나!칼라프(Caleph): 아니오, 수수께끼는 세 개, 생명이 하나! 푸치니(Puccini) 변수명에 예약어나 예약 문자를 할당하기. case=value0 # 문제가 생

wiki.kldp.org

http://webs.co.kr/index.php?mid=linux_1&sort_index=readed_count&order_type=desc%2FRK%3D2%2FRS%3DfeufvCnhFey11eI87xUUp3A3Ch8-&listStyle=webzine&page=1&document_srl=3320523 

 

Linux - Error : unary operator expected – 쉘스크립트 타입관련 문법

Message : ./db_migrate.sh: line 3: [: =: unary operator expected 검색해보니 정확히 같은 사례가 나와서 바로 해결 https://stackoverflow.com/questions/13617843/unary-operator-expected 리눅스 환경에 배포하다보면 shell script 사

webs.co.kr

https://blog.gaerae.com/2015/01/bash-hello-world.html

 

Bash 입문자를 위한 핵심 요약 정리 (Shell Script)

 

blog.gaerae.com

https://wikidocs.net/54525

 

1.명령어 실행결과를 변수에 할당

명령어 실행 결과를 변수에 할당하는 방법은 두 가지가 있습니다. `$()`를 이용하는 방법과 `로 명령어를 감싸주는 방법입니다. ```bash $ A=$(date) $ ...

wikidocs.net

위키독스.... 야 고마워....

최소 3페이지는 달달

 

문제가 변수명이라는 것을 인식하였으면, 위키독스 봐주고 3페이지 뒤져보자

좀더 팠으면 할 수 있었을 텐데 문제가 뭔지 알 수 있었고, 

될랑말랑 계속 그랬는데 결국 인턴의 도움으로 해결.. 고민한 만큼 딱 됐음 진짜 기분 좋았을 것 같다..