우분투 - 쉘 스크립트

Wald Eisen·2023년 9월 26일
0

study-ubuntu

목록 보기
2/9

https://rhrhth23.tistory.com/20

스크립트 만들기

배웠던 touch 문으로 셀 스크립트를 만들자.

touch script.sh

터치문은 빈 파일을 생성하는 명령어이다.

권한 설정

chmod 755 script.sh

chmod란? : 파일의 권한을 수정하는 명령어다.
소유자(rwx) 그룹(rwx) 사용자(rwx)의 권한을 수정한다.

grep (파일 내용 검색)

grep문은 지정된 패턴이 포함된 행을 찾는다.

grep bash /etc/passwd
로 /etc/passwd 디렉토리안에 'bash'란 행을 포함하는 쉘을 찾았다.

grep -r ubt *
각각, -r 옵션을 적용하여 "모든파일" 에서 ubt란 인자가 포함되는 셀을 찾아라
-r 옵션이란? : 'ubt'가 들어있는 파일을 프롬포트에 찾아준다.

grep -l hello *.c
점 뒤에 붙은건 확장자다. txt로도 가능하다.

find 문

grep문과 같지만 다르다. 그랩은 파일 내용을 찾는거지만 find문은 파일을 찾는다.

화면에 출력을 하는 문구다.


물결표? : 홈 경로.

find ~ -name hello.c
/home/ubt 안에서 이름이 hello.c인 파일을 찾아달라

호스트가 담겨 있는 내용을 전부 보여달라, 그리고
오류가 있는것들은 뒤에 적인 곳에 보내라.

which

해당 명령어가 어디에있는지를 알린다.

파일을 찾는 cat 명령어는 bin 안에 있다고 한다.
ls -l /bin/cat으로 살펴보면
x가 있다, 이 x는 실행파일이란 뜻으로, cat은 실행파일임을 알 수 있다.

에코

에코문은 텍스트 를 치면 바로 화면에 문자열을 출력시킨다.

리눅스의 문서 편집

vi 혹은 vi asd(파일 이름)
를 입력하는것으로 편집모드로 들어간다

  • q를 기입한뒤 엔터한다면 밖으로 나간다
  • i를 누르는 순간 insert 가 뜨면서 무언가를 입력하는 입력모드가 된다.
  • 해당 모드에서 나가고 싶다면 esc를 누른다 insert 가 뜨지 않는 상태를 명령모드라고 부른다. 이 모드에선 ':'를 붙임으로서 명령을 내릴 수 있다.

:w 저장
:q 종료
:wq 저장 후 종료 , 이렇게 두 인자를 붙일 수 있다. qw는 당연히 모순적인 명령이므로 정상적으로 작동하진 않는다.



우선 우리는 touch abc 로 파일을 만들자.

이 파일안에는 내용이 없다. 그래서 cat abc를 쳐도 아무런 내용이 출력되지 않는다.

이 안에는 리다이렉션을 통해 원하는 글자를 넣어보자.

echo aa 는 그냥 해당글자를 출력하는거지만

리다이렉션을 넣으면 그걸 어딘가로 보낸다.


쉘 스크립트

vi hello.sh
를 쳐보자. 쉘 스크립트는 이름은 상관없지만 뒤에 .sh 확장자를 붙여야 한다.

.sh 확장자를 붙여서 만들었지만 딱히 뭐가 있는것 같지는 않다.

여기에서 상단에

#!/bin/bash 를 붙임으로서 쉘 스크립트를 완성한다.

그후 명령모드로 저장후 나간뒤,

bash 쉘스크립트이름.sh 혹은
. 이름.sh
를 치면..

이렇게 적어놨던게 실행된다.

근데 여기에서 그치지 않고, 이 파일을 실행파일로 바꾸고 싶다면..

chmod +x hello.sh

x가 추가된다(실행파일화)

./hello.sh 를 침으로서 실행시킨다.


https://www.fun-coding.org/post/linux_basic3.html#gsc.tab=0

쉘 스크립트를 통한 여러가지 코드 작성들은 다음 블로그를 참조.

0개의 댓글