2022-04-13 Shell_script_2
2022. 4. 14. 14:36ㆍBE/Linux
쉘 스크립트의 기본 문법
# : 주석
\ : 다음 라인에 계속
; : 명령어 끝
&& : 명령어 끝 (정상적으로 명령이 종료되면 다음 명령 실행)
|| : 명령어 끝 (비정상적으로 명령이 종료되면 다음 명령 실행)
$ : 변수
& : 백그라운드에서 실행
출처: https://flower0.tistory.com/180
변수 이름 참조 $
window의 batch file의 %와 유사한 성격
$ 기호를 변수 앞에 붙이면 변수의 이름이 아닌 value를 의미
Special shell variables
Script Parameters
$$ : PID of current process
$0 : Script name (사용중인 쉘의 종류)
$1 : First parameter (매개변수)
$2, $3, ... : 2nd, 3rd parameter, ...
$* : All parameters (one string)
$@ : All parameters (set of strings)
$# : Number of parameters
$? : Return value (가장 최근에 실행한 프로세스의 반환값)
Shell script 상에서 특별한 의미를 가는 변수들
vim arg.sh
#!/bin/sh
echo '$0' $0
echo '$1' $1
echo '$2' $2
echo '$*' $*
echo '$@' $@
echo '$#' $#
echo '$?' $?
echo '$$' $$
./arg.sh a b c d e
# $0 ./arg.sh
# $1 a
# $2 b
# $* a b c d e
# $@ a b c d e
# $# 5
# $? 0
# $$ 27899
vim arg2.sh
#!/bin/bash
for i in "$*"
do echo item:$i
done
for i in "$@"
do echo item:$i
done
./arg2.sh a b c d e
# item:a b c d e
# item:a
# item:b
# item:c
# item:d
# item:e
Command Substitution
명령어의 결과를 다른 명령의 일부로 사용
$(command)
`command` #backtick 주의
둘은 같은 의미다.
예시를 보자.
vim subsub.sh
#!/bin/bash
echo "pwd : $(pwd)"
echo "pwd : `pwd`"
echo -n "pwd : "
pwd
#출력
# ./subsub.sh
# pwd : /Users/^^/desktop/nyancat
# pwd : /Users/^^/desktop/nyancat
# pwd : /Users/^^/desktop/nyancat
출처 : https://flower0.tistory.com/180
parameter substiution
: 변수를 참조해서, 값을 반환한다.
$변수와 쓰임이 거의 같다. 단 아래와 같이 약간의 다른 점도 있다.
var=너네
echo ${var}는 이런거 안되지
echo $var 는 이런거 할 수 있네
# 붙여쓰기 가능
참고 : https://goateedev.tistory.com/96
if statement
if [ 조건절 ]
then
실행절
elif [ 조건절 ]
then
실행절
else
실행절
fi
if_[_조건절_] 띄어쓰기에 주의
일반적인 프로그래밍 언어와 달리 참이 0 거짓이 1
'BE > Linux' 카테고리의 다른 글
2022-04-16 Shell_script_추천글 (0) | 2022.04.16 |
---|---|
2022-04-14 Shell_script_3 (0) | 2022.04.15 |
Shell Script 띄어쓰기 (보호) (0) | 2022.04.13 |
2022-04-13 Shell_Kernel (0) | 2022.04.13 |
2022-04-13 Linux_IO_Redirection (0) | 2022.04.13 |