banner sh solaris 10 vi banner ksh binksh
• banner. sh solaris 10 # vi banner. ksh #!/bin/ksh case "$1" in start) banner start ; ; stop) banner stop ; ; *) echo "Usage : $0 { start | stop } " exit 1 ; ; esac solaris 10 # chmod 755 banner. ksh
solaris 10 # vi pp. ksh #!/bin/ksh echo "Script name : $0 " echo "first argument : $1 " echo "second argument : $2 " echo "third argument : $3 " echo "fourth argument : $4 " echo "fifth argument : $5 " echo "sixth argument : $6 " echo "seventh argument : $7 " echo "eighth argument : $8 " echo "ninth argument : $9 " echo "tenth argument : ${10} " echo "All argument : $* " echo "All argument : $@ " echo "Number of all argument : $# “ solaris 10 # chmod 755 pp. ksh solaris 10 #. /pp. ksh a b c d e f g h i j
본쉘 스타일 solaris 10 # cat /etc/init. d/volmgt #!/sbin/sh # # Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "@(#)volmgt 1. 9 SMI" case "$1" in 'start') if [ -f /etc/vold. conf -a -f /usr/sbin/vold -a "${_INIT_ZONENAME: =`/sbin/zonename`}" = "global" ]; then echo 'volume management starting. ' svcadm enable svc: /system/filesystem/volfs: default fi ; ; 'stop') svcadm disable svc: /system/filesystem/volfs: default ; ; *) echo "Usage: $0 { start | stop }" exit 1 ; ; esac exit 0
/etc/init. d/volmgt 를 콘셸 스타일로 변경 #!/bin/ksh # # Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "@(#)volmgt 1. 9 SMI" case "$1" in 'start') if [[ -f /etc/vold. conf && -f /usr/sbin/vold && "${_INIT_ZONENAME: =`/sbin/zonename`}" = "global" ]]; then echo 'volume management starting. ' svcadm enable svc: /system/filesystem/volfs: default fi ; ; 'stop') svcadm disable svc: /system/filesystem/volfs: default ; ; *) echo "Usage: $0 { start | stop }" exit 1 ; ; esac exit 0
/etc/rc 3 파일 발췌 01 if [ -d /etc/rc 3. d ]; then 02 for f in /etc/rc 3. d/K*; do 03 if [ -s $f ]; then 04 case $f in 05 *. sh) /lib/svc/bin/lsvcrun -s $f stop ; ; 06 *) /lib/svc/bin/lsvcrun $f stop ; ; 07 esac 08 fi 09 done 10 11 for f in /etc/rc 3. d/S*; do 12 if [ -s $f ]; then 13 case $f in 14 *. sh) /lib/svc/bin/lsvcrun -s $f start ; ; 15 *) /lib/svc/bin/lsvcrun $f start ; ; 16 esac 17 fi 18 done 19 fi
solaris 10 # vi adduser. ksh #!/bin/ksh i=1 while (( i <= 100 )) do if [[ ! -e /home 1 ]] ; then mkdir /home 1 fi /usr/sbin/useradd -d /home 1/user$i -m -s /bin/ksh user$i /bin/echo " adding user : user$i “ /usr/bin/passwd -d user$i (( i = i + 1 )) done solaris 10 # chmod 755 adduser. ksh solaris 10 #. /adduser. ksh
case "$PROGRAM" in 1) process_mgt. ksh ; ; 2) user_mgt. ksh ; ; 3) cron_mgt. ksh ; ; 4) backup_mgt. ksh ; ; q) echo " Program Exit " exit 0 ; ; esac done solaris 10 # chmod 755 program. ksh
함수테스트 #!/bin/ksh ftest() { for i in 1 2 3 4 5 6 7 8 9 do A=$(( $DAN * $i )) echo "$DAN * $i = $A“ done } echo “단을 입력하시오? c" read DAN
while true do echo ftest $DAN echo “단을 입력하시오? c" read DAN done
solaris 10 # vi shell_08. ksh #!/bin/ksh # network interface instance # which_inst() 함수 정의부 which_inst () { case "$1" in hme*) echo $1 | sed 's/hme//' ; ; qfe*) echo $1 | sed 's/qfe//' ; ; vmxnet*) echo $1 | sed 's/vmxnet//' ; ; esac }
# print_link() 함수 정의부 print_link() { LINK_STATUS=`/usr/sbin/ndd /dev/$1 link_status` > /dev/null 2>&1 LINK_SPEED=`/usr/sbin/ndd /dev/$1 link_speed` > /dev/null 2>&1 LINK_MODE=`/usr/sbin/ndd /dev/$1 link_mode` > /dev/null 2>&1 case "$1" in hme* | qfe* ) print if [[ $LINK_STATUS = 1 ]]; then echo "Link Status is up" else echo "Link Status is down" fi if [[ $LINK_SPEED = 1 ]]; then echo "Link Speed is 100 Mbps" else echo "Link Speed is 10 Mbps" fi if [[ $LINK_MODE = 1 ]]; then echo "Link Mode is Full Duplex" else echo "Link Mode is Half Duplex" fi ; ; esac }
2) print -n "네트워크 카드를 선택하시오 ? " read NETCARD INST=`which_inst ${NETCARD}` # which_inst() 함수 호출 case "$NETCARD" in hme*) DEV=hme /usr/sbin/ndd -set /dev/${DEV} instance ${INST} print_link ${DEV} # print_link() 함수 호출. ; ; qfe*) DEV=qfe /usr/sbin/ndd -set /dev/${DEV} instance ${INST} print_link ${DEV} # print_link() 함수 호출. ; ; vmxnet*) DEV=vmxnet /usr/sbin/ndd -set /dev/${DEV} instance ${INST} print_link ${DEV} # print_link() 함수 호출. ; ; esac print -n "아무키나 누르시오 " read KEY ; ;
q|"") print "프로그램을 종료합니다. " exit 2 ; ; esac done solaris 10 # chmod 755 shell_08. ksh solaris 10 #. /shell_08. ksh
- Slides: 33