본문 바로가기

리눅스

[ 15일차 ] 구구단 3단 출력하기, 전체구구단 출력하기, [fedora20_8_shell. ppt] p44. ~ , 쉘 프로그램 응용

 

구구단 3단 출력하기

 

#! /bin/bash

for i in `seq 1 9`

do

A=`expr $i \* 3`

echo " 3 x $i = $A"

done

 

 

 

전체 구구단 출력하기

 

#! /bin/bash

 

for i in `seq 1 9`

do

for j in `seq 1 9`

do

A=`expr $i \* $j`

echo " $i x $j = $A"

done

done

 

대표사진 삭제

사진 설명을 입력하세요.

 

 

 

#! /bin/bash

 

for i in `seq 9`

do

for dan in `seq 2 9`

do

value=`expr $i \* $dan `

if [ $value -lt 10 ]

then

echo -n "$dan x $i = 0$value "

else

echo -n "$dan x $i = $value "

fi

done

echo " "

done

 

 

 

 

while 문으로 바꿔서 해보기

 

#! /bin/bash

 

for i in `seq 9`

do

dan=2

while [ $dan -lt 10 ]

do

value=`expr $i \* $dan `

if [ $value -lt 10 ]

then

echo -n "$dan x $i = 0$value "

else

echo -n "$dan x $i = $value "

fi

dan=`expr $dan + 1` -- 증가값이 없으면 무한루프 돌아감 !!

done

echo " "

done

 

 

 

 

 

이중 while문으로 써보기

 

#! /bin/bash

 

i=1

while [ $i -lt 10 ]

do

dan=2

while [ $dan -lt 10 ]

do

value=`expr $i \* $dan `

if [ $value -lt 10 ]

then

echo -n "$dan x $i = 0$value "

else

echo -n "$dan x $i = $value "

fi

dan=`expr $dan + 1`

done

echo " "

i=`expr $i + 1`

done

 

 


 

3단하고 7단만 나타내기

 

#! /bin/bash

 

i=1

while [ $i -lt 10 ]

do

dan=2

while [ $dan -lt 10 ]

do

if [ $dan -eq 3 -o $dan -eq 7 ]

then

value=`expr $i \* $dan `

if [ $value -lt 10 ]

then

echo -n "$dan x $i = 0$value "

else

echo -n "$dan x $i = $value "

fi

fi

dan=`expr $dan + 1`

done

echo " "

i=`expr $i + 1`

done

 

 

 

 

▶case 구문

 

 

 

#! /bin/bash

 

echo - n " 당신의 직업은 리눅스 엔지니어입니까 (Y|N)"

read _job

case "$_job" in

y|Y)

echo " 당신의 직업은 리눅스 엔지니어입니다."

exit ;;

n|N)

echo " 당신의 직업은 모르겠군요"

exit ;;

*) --나머지 모든것

echo " 잘못입력하였습니다.!!"

exit ;;

esac

 

 

p.46

 

#! /bin/bash

 

echo -n "

[1] start [2]stop [3]restart "

read _job

case "$_job" in

1)

systemctl start httpd;;

2)

systemctl stop httpd;;

3)

systemctl restart httpd;;

*)

echo" ";;

esac

 


 

fedora20_8_shell.ppt
0.64MB

 

#! /bin/bash

 

echo -n "

[1] start [2]stop [3]restart "

read _job

case "$_job" in

1)

systemctl start httpd

clear --화면 지우기

ps aux | grep 'httpd' | grep -v grep -- 프로그램실행시 관련정보 보기

exit;;

2)

systemctl stop httpd

ps aux | grep 'httpd' | grep -v grep

exit;;

3)

systemctl restart httpd

ps aux | grep 'httpd' | grep -v grep

exit;;

*)

echo" ";;

esac

 

 

쉘 프로그램 응용

 

1) 이름을 입력받아 빈파일을 10개 만드시오

 

2)쉘 프로그램에 넣기

 

3)find로 만든 파일만 출력하기

 

 

#! /bin/bash

echo -n "생성 할 파일명을 입력하시오:"

read _file

for ((i=1; i<11; i++))

do

touch $_file$i.txt

done

find . -name "$_file*"

 

4)제거 하기

rm -rf *.txt

 

 

▶사용자 생성하기

 

 

#! /bin/bash

echo -n "adder ID :"

read _user

 

echo -n "Passwd: "

read _pass

 

useradd $_user

echo $_pass | /usr/bin/passwd --stdin $_user

echo " "

echo " OK "

 

[root@localhost ~]# vi uradd.sh

[root@localhost ~]# sh uradd.sh

adder ID :young100

Passwd: 1234

young100 사용자의 비밀 번호 변경 중

passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.

 

OK

 

 

------------↓화면출력

 

[root@localhost ~]# su korea

[korea@localhost root]$ su young100

암호:

[young100@localhost root]$

 

 

---------------------

#! /bin/bash

echo -n "adder ID :"

read _user

 

echo -n "Passwd: "

read _pass

 

useradd $_user

echo $_pass | /usr/bin/passwd --stdin $_user

echo " "

echo " OK "

 

clear

ls -l /home/