샤인의 IT (막 적는) 메모장

[Bash] Command Line Argument 본문

Programming/Bash

[Bash] Command Line Argument

신샤인 2022. 1. 22. 17:53
반응형

Argument

 

Argument 지정 시 <$><숫자>로 사용한다.

 

 

#Argument 설정 스크립트
[root@scriptbox scripts]# cat 4.args.sh
#!/bin/bash

echo "Value of 0 is "
echo $0

echo "Value of 1 is "
echo $1

echo "Value of 2 is "
echo $2

echo "Value of 3 is "
echo $3

[root@scriptbox scripts]# ./4.args.sh S hin e
Value of 0 is
./4.args.sh
Value of 1 is
S
Value of 2 is
hin
Value of 3 is
e

 

Argument를 지정하여 WEB 서버 설치 스크립트

 

#웹서버 설정 아규먼트 스크립트
#URL과 ART_NAME을 아규먼트로 받아 사용함 $1 $2
[root@scriptbox scripts]# cat 5.args_websetup.sh
#!/bin/bash

#Variable
PACKAGE="httpd wget unzip"
SVC="httpd"
#URL="https://www.tooplate.com/zip-templates/2124_vertex.zip"
#ART_NAME='2124_vertex'
TEMPDIR="/tmp/webfiles"




# Package Install
sudo yum -y install $PACKAGE > /dev/null


# Start httpd
echo "Start httpd"
echo "###################################"
sudo systemctl start $SVC
sudo systemctl enable $SVC


#templete Setup
echo "Templete Setup"
echo "###################################"
mkdir -p $TEMPDIR
cd $TEMPDIR

wget $1 > /dev/null
unzip $2.zip > /dev/null

sudo cp -r $2/* /var/www/html/


#restart httpd
echo "httpd restart...."
echo "###################################"
sudo systemctl restart $SVC

ls -l /var/www/html

rm -rf /tmp/webfiles

#스크립트 arg1 arg2
[root@scriptbox scripts]# ./5.args_websetup.sh https://www.tooplate.com/zip-templates/2109_the_card.zip 2109_the_card

 

 

 

System Variable

 

$0 - 스크립트 이름
$1 ~ $9 - 스크립트 아규먼트

$@ - 모든 아규먼트가 충족해야 함
$# - 아규먼트 수만큼 Pass
$? - 최근 프로세스 종료 상태
$$ - 최근 실행한 프로세스 ID



$?는 종료 상태를 나타내며 정상적으로 종료되지 않을 경우 0이 아닌 다른 수가 출력됨

 

반응형

'Programming > Bash' 카테고리의 다른 글

[Bash] Export Variable  (0) 2022.01.22
[Bash] Quota & Substitution  (0) 2022.01.22
[Bash] Variable  (0) 2022.01.22
[Bash] 기본 작성 ( + WEB 서버 실행 스크립트)  (0) 2022.01.22
Comments