2022-04-13 Shell_script_2

2022. 4. 14. 14:36BE/Linux

쉘 스크립트의 기본 문법

# : 주석

\ : 다음 라인에 계속

; : 명령어 끝

&& : 명령어 끝 (정상적으로 명령이 종료되면 다음 명령 실행)

|| : 명령어 끝 (비정상적으로 명령이 종료되면 다음 명령 실행)

$ : 변수

& : 백그라운드에서 실행

 

출처: https://flower0.tistory.com/180

 

[쉘 스크립트] 작성법 / 기초문법

쉘 스크립트 해석기 ( Shell Script Interpreter) /bin /sh /bin /ksh /bin /csh /bin /bash /bin /tcsh 쉘 스크립트 작성 기초 (1)쉘에서는 띄어쓰기가 매우 중요. ex ) 다음과 같이 변수 선언 시, VAR=value 띄..

flower0.tistory.com


변수 이름 참조 $

 

 

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