리눅스

* 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

 

 

 

about author

PHRASE

Level 60  머나먼나라

나의 오늘이 있는 것은 모두가 아내의 덕분이다. 연애 시절의 그녀는 나의 가장 친한 친구였으며, 마음 약한 나를 언제나 격려해 주었다. 결혼 후에는 저축에 힘을 썼으며 투자를 잘 해서 재산을 만들어 주었다. 우리에게는 5명의 자녀가 있으며, 아내의 덕분으로 우리집은 언제나 행복하다. 나에게 조금이라도 명성이 있다면 그것은 모두가 아내의 덕분이다. -데일 카

댓글 ( 4)

댓글 남기기

작성
  •    
  •    
  •