Shell script
2024. 2. 29. 20:09
맨 처음의 행에 시스템에 지금부터 셸 스크립트를 쓴다는 사실을 알려주기 위하여 아래 문장 명시
#!/bin/sh
문법
- 주석 #
- 입력 read
- 출력 echo
$ vi test.sh
#!/bin/sh
read NAME
echo "Hello, $NAME!"
$ chmod 755 test.sh
$ ./test.sh
kim # 입력
Hello, kim! # 출력
- 변수에 값을 전달할 때는 = 의 앞,뒤에 공백 없이 작성
- 문자열인 경우 "쌍따옴표"로 묶음
- 변수에 액세스할 때 변수명의 앞에 $를 넣는다. 혹은 $넣어서 변수를 {}로 감싼다
$변수
${변수}
변수 | 기능 |
$0 | 실행된 스크립트명 |
$1 ~ $9 | Argument, 첫 번째의 인자는 $1, 2번째 인자는 $2로 액세스 |
$# | 스크립트에 전달된 인자의 수 |
$* | 모든 인자를 모아 하나로 처리 |
$@ | 모든 인자를 각각 처리 |
$? | 직전에 실행한 커맨드의 종료 값(0은 성공, 1은 실패) |
$$ | 해당 쉘 스크립트의 PID |
$! | 마지막으로 실행한 백그라운드 PID |
DB 접속
sqlplus -s 계정명/비밀번호@SID<<EOF
exit
EOF # 접속 해제
SQL에서 스크립트 실행
SQL> @경로\\[파일이름]
# @c:\\temp\\test_data.sql
연습
1. linux 콘솔에서 sql 파일 작성
[oracle@kim temp]$ cat cre.sql
CREATE TABLE TEST (A NUMBER);
[oracle@kim temp]$ cat ins.sql
INSERT INTO TEST VALUES (1);
INSERT INTO TEST VALUES (2);
COMMIT;
[oracle@kim temp]$ cat sel.sql
SELECT * FROM TEST;
[oracle@kim temp]$ ll
합계 12
-rw-r--r--. 1 oracle oinstall 30 2월 29 18:35 cre.sql
-rw-r--r--. 1 oracle oinstall 66 2월 29 18:36 ins.sql
-rw-r--r--. 1 oracle oinstall 20 2월 29 18:36 sel.sql
2. sql 접속
3. sql 실행
18:36:27 TEST@cdb1>@cre.sql
Table created.
Elapsed: 00:00:00.35
18:36:36 TEST@cdb1>@sel.sql
no rows selected
Elapsed: 00:00:00.00
18:36:42 TEST@cdb1>@ins.sql
1 row created.
Elapsed: 00:00:00.34
1 row created.
Elapsed: 00:00:00.00
Commit complete.
Elapsed: 00:00:00.00
18:36:47 TEST@cdb1>@sel.sql
A
----------
1
2
'Linux' 카테고리의 다른 글
Rocky Linux (0) | 2024.02.21 |
---|---|
[Linux] 기본 명령어 (0) | 2023.04.13 |
[Linux] Setup (0) | 2023.03.09 |