* shell script programming
shell - 대화형 프로그램
bash - Bourne-again shell, 본 어게인 쉘
윈도우 - com, exe, bat 실행파일
리눅스 - sh 실행파일
p.412
# gedit name.sh
#!/bin/sh 주석(bash 사용)
echo "name:"+ $USERNAME 사용자 출력
echo "host:"+ $HOSTNAME 호스트 출력
exit 0 정상종료
-/d : 디렉토리 여부
rw- : 현재 사용자의 권한
r-- : 그룹 사용자의 권한
r-- : 기타 사용자의 권한
-rw-r--r--. 1 root root 79 12월 27 10:43 name.sh
파일의 권한을 수정하지 않고 실행
# sh name.sh
파일의 권한을 수정(read 4, write 2, execute 1)
7 : read+write+excute 현재 사용자
5 : read+execute 현재 그룹
5 : read+execute 기타 사용자
# chmod 755 name.sh
# ./name.sh
p.416 변수의 입력과 출력
변수를 미리 선언하지 않음
모든 변수는 문자열로 처리됨
\$ => $문자 출력
"$a" => a 변수에 저장된 값
'$a' => $a
\$a => $a
# gedit var1.sh
#!/bin/sh
myvar="Hi"
echo $myvar
echo "$myvar"
echo '$myvar'
echo \$myvar
echo "input:"
read myvar
echo "myvar =" $myvar
exit 0
# sh var1.sh
p.417 숫자 계산
# gedit numcalc.sh
쉘 스크립트의 변수값은 스트링으로 처리됨
숫자로 변환하려면 `expr 변수`로 처리(역따옴표)
\( => ( 문자
\* => 곱하기 연산자
변수 좌우에는 공백이 없어야 함
#!/bin/sh
num1=100
num2=$num1+200
echo $num2
num3=`expr $num1 + 200`
echo $num3
num4=`expr \( $num1 + 200 \) / 10 \* 2`
echo $num4
exit 0
p.418 파라미터 변수
명령행 매개변수
자바의 String[] args에 해당되는 변수
public static void main(String[] args)
yum -y install jdk
$0 $1 $2 $3
$* => 모든 파라미터 출력(파일이름 제외)
#gedit paravar.sh
#!/bin/sh
echo "file name : $0"
echo "param 1 : $1 , param 2 : $2 "
echo $*
exit 0
# sh paravar.sh 100 200
댓글 ( 4)
댓글 남기기