반응형
★ 리눅스 스크립트 만들기
● vi b.sh 편집기를 열고 스크립트에서 입력받은 인수(argument) 출력하기
#!/bin/bash
echo "스크립트 이름 : $0"
echo "\$1 : $1"
echo "\$2 : $3"
echo "\$3 : $3"
echo "\$3 : $4"
echo "\$4 : $4"
echo "argument 개수 : $#"
echo " 모든 값 출력 : $*"
chmod +x ./b.sh
./b.sh 10 20 30 40
//이번 글에서는 기본적으로 홈디렉토리에서 진행하였다.
때문에 반드시 실행 할 때는 현재 경로에서 실행하는 ./b.sh 로 실행해준다.
기본적으로 홈디렉토리에서 진행하였다.
때문에 현재 경로에서 실행하는 ./b.sh 로 실행해준다.
vi 편집기에서 스크립트 파일을 수정해준 뒤에 chmod를 통해 실행 권한을 주고,
./b.sh 10 20 30 40 명령어를 통해서 실행해주면 된다.
명령줄에서 인수를 받아들이고, 인수의 개수, 각 인수의 값 및 모든 인수의 값을 출력한다.
● vi a1.c 편집기를 열고 입력받은 인수(argument) 출력하기
#include <stdio.h>
int main(int a, char* b[])
{
int i=0;
printf("인수의 개수 = %d \n", a);
for (i=0; i<a; i++)
printf(" \b[%d] ==> %s \n", i, b[i]);
return 0;
}
gcc a1.c -o aa
./aa 10 20 30 40
// c파일 이므로 컴파일을 위해서 gcc a1.c -o aa 명령어를 실행해준다.
// ./aa 현재 경로에서 실행하기 위해 ./aa 명령어를 통해서 명령어를 실행해준다.
컴파일러가 C 소스코드를 컴파일하여 실행파일로 만들어주는 명령어이다.
● vi a1.c 편집기를 열고 입력받은 인수(argument) 출력하기
#!/bin/bash
if [ 3 -eq 4 ]
then
echo "equal"
else
echo "not-equal"
fi
if [ -d /etc ]
then
echo " Directory 맞아요.."
fi
for i in 40 50 60 70
do
echo $i
done
※ 이 코드는 이 설명을 잘 봐야합니다.
위 스크립트는 쉘 스크립트입니다.
2번째 줄에서는 만약 3과 4가 같으면 "equal"을 출력하고, 그렇지 않으면
"not-equal"을 출력합니다.
여기서 스크립트를 직접 수정하여 if문 안의 숫자를 변경해서 실습해보면 좋습니다.
4-7번째 줄에서는 /etc 디렉토리가 존재하면 "Directory 맞아요.."를 출력합니다.
반대로 만약 파일인지 여부를 확인 할 경우에는 if [ -f /etc ] 로 수정해주면 됩니다.
9-12번째 줄에서는 40, 50, 60, 70의 값을 차례로 출력합니다.
즉, 이 스크립트는 간단한 조건문과 반복문을 이용한 예제입니다.
실행 결과를 보면 2번째 줄 if문에서 3과 4가 같지 않기 때문에 not-equal 이 출력되었고
4-7번째 줄 if문에서 /etc 디렉토리가 존재하는 것을 확인했기 때문에
"Directory 맞아요.."문구를 출력했다.
이후 for문 반복문을 통해서 숫자를 출력하고 종료하는 스크립트이다.
반응형