728x90
[ Bash : Bourne-Again Shell ]
내부 명령(built in)
built in(고유의, 붙박이의)
내부 명령은 시스템 명령어와 이름이 같을수도 있지만 이런 경우 Bash가 내부적으로 다시 구현해놓은것
ex) echo, read, print, exit .. 등등
스크립트 명령어
4 (read) 2 (write) 1 (excute)
chmod 555 scriptname (아무나 읽고/실행 할 수 있게)
chmod +rx scriptname (아무나 읽고/실행 할 수 있게)
chmod u+rx scriptname (스크립트 소유자만 읽고/실행할 수 있게)
$UID # 기본적으로 UID가 0인 유저만이 루트 권한을 갖는다.
if 문 조건식
[ -z ] : 문자열의 길이가 0이면 참 [ -n ] : 문자열의 길이가 0이 아니면 참 [ -eq ] : 값이 같으면 참 [ -ne ] : 값이 다르면 참 [ -gt ] : 값1 > 값2 [ -ge ] : 값1 >= 값2 [ -lt ] : 값1 < 값2 [ -le ] : 값1 <= 값2 [ -a ] : &&연산과 동일 and 연산 [ -o ] : ||연산과 동일 xor 연산 [ -d ] : 파일이 디렉토리면 참 [ -e ] : 파일이 있으면 참 [ -L ] : 파일이 심볼릭 링크면 참 [ -r ] : 파일이 읽기 가능하면 참 [ -s ] : 파일의 크기가 0 보다 크면 참 [ -w ] : 파일이 쓰기 가능하면 참 [ -x ] : 파일이 실행 가능하면 참 [ 파일1 -nt 파일2 ] : 파일1이 파일2보다 최신파일이면 참 [ 파일1 -ot 파일2 ] : 파일1이 파일2보다 이전파일이면 참 [ 파일1 -ef 파일2 ] : 파일1이 파일2랑 같은 파일이면 참 |
#! 스크립트의 제일 앞에서 이 파일이 어떤 해석기의 명령어 집합인지 알려주는 역할
#! 바로 뒤에 나오는 것은 경로명으로, 스크립트에 들어있는 명령어들을 해석할 프로그램의 위치를 나타내는데 그 프로그램이 쉘인지, 프로그램 언어인지, 유틸리티인지를 나타냅니다. 이 명령어 해석기가 주석은 무시하면서 스크립트의 첫 번째 줄부터 명령어들을 실행시킵니다.
ex) !/bin/bash
[매개변수 개수 체크 로직]
if [ $# -ne 원하는_매개변수_갯수 ]
then
echo "사용법: `basename $0` 어쩌구저쩌구"
exit $WRONG_ARGS
fi
728x90
'쉘스크립트' 카테고리의 다른 글
8~/ 9~/ 연산자, 변수 재검토 (0) | 2022.03.03 |
---|---|
7~ 테스트 (0) | 2022.03.03 |
6~ / #쿼우팅 (0) | 2022.03.02 |
5. / # 변수와 매개변수 소개 (0) | 2022.03.02 |
2.1~2.2 / 3. / 4. # 기초단계 종료상태 특수문자 (0) | 2022.03.02 |