본문내용
마다 어느 사용자가 시스템에 로그인했는지 체크하는 Korn Shell 프로그램을 작성하시오. 사용자 이름은 명령어 라인 인자로 전달되며 사용자가 로그인 하면 어느 터미널에 로그인 했는지를 알려주도록 하시오.
Source
1 #!/bin/ksh
2 #2번 문제
3
4 read user?"INPUT : "
5 (
6 until who | grep $user
7
8 do
9 sleep 60
10 print 'logout'
11
12 done
13 who -H | grep $user | cut -d' ' -f 6 ) &
실행 결과
3. 쉘에 메뉴 인터페이스를 제공하는 my_menu라는 Korn Shell 프로그램을 작성하시오. 메뉴의 옵션 아래와 같고 사용자가 받아들일 수 있는 응답을 했는지 검증하고 원하는 파일이나 디렉토리가 있는지도 확인해야 한다.
a. 현 디렉토리의 이름 표시
b. 현 디렉토리의 내용 표시
c. 파일의 내용 표시(화일 이름을 묻는 프롬프트 사용)
d. 다른 디렉토리로 바꿈(새로운 디렉토리 위치를 묻도록 하고 바뀐 디렉토리의 이름을 출력)
e. 종료
Source
1 #!/bin/ksh
2
3 print 'MY MENU'
4
5 read com?"INPUT : "
6
7
8 if [[ $com = [a]* ]]
9 then
10 #현 디렉토리의 이름 표시
11 print '현재 디렉토리 : '
12 pwd
13
14 elif [[ $com = [b]* ]]
15 then
16 #현 디렉토리 내용 표시
17 print '현재 디렉토리 내용 : '
18 ls -al
19
20 elif [[ $com = [c]* ]]
21 then
22 #파일의 내용 표시
23 read filename?"File name : "
24 cat $filename
25
26 elif [[ $com = [d]* ]]
27 then
28 #다른 디렉토리로 바꿈
29 read pat?"PATH : "
30 cd $pat
31 pwd
32
33 elif [[ $com = [e]* ]]
34 then
35 #종료
36 print '종료'
37
38 else
39 print 'Wrong command!'
40
41 fi
실행 결과
< a 메뉴 실행 결과 >
< b 메뉴 실행 결과 >
< c 메뉴 실행 결과 >
< d 메뉴 실행 결과 >
< e 메뉴 실행 결과 >
< 잘못된 메뉴를 입력하였을 경우 실행 결과 >
Source
1 #!/bin/ksh
2 #2번 문제
3
4 read user?"INPUT : "
5 (
6 until who | grep $user
7
8 do
9 sleep 60
10 print 'logout'
11
12 done
13 who -H | grep $user | cut -d' ' -f 6 ) &
실행 결과
3. 쉘에 메뉴 인터페이스를 제공하는 my_menu라는 Korn Shell 프로그램을 작성하시오. 메뉴의 옵션 아래와 같고 사용자가 받아들일 수 있는 응답을 했는지 검증하고 원하는 파일이나 디렉토리가 있는지도 확인해야 한다.
a. 현 디렉토리의 이름 표시
b. 현 디렉토리의 내용 표시
c. 파일의 내용 표시(화일 이름을 묻는 프롬프트 사용)
d. 다른 디렉토리로 바꿈(새로운 디렉토리 위치를 묻도록 하고 바뀐 디렉토리의 이름을 출력)
e. 종료
Source
1 #!/bin/ksh
2
3 print 'MY MENU'
4
5 read com?"INPUT : "
6
7
8 if [[ $com = [a]* ]]
9 then
10 #현 디렉토리의 이름 표시
11 print '현재 디렉토리 : '
12 pwd
13
14 elif [[ $com = [b]* ]]
15 then
16 #현 디렉토리 내용 표시
17 print '현재 디렉토리 내용 : '
18 ls -al
19
20 elif [[ $com = [c]* ]]
21 then
22 #파일의 내용 표시
23 read filename?"File name : "
24 cat $filename
25
26 elif [[ $com = [d]* ]]
27 then
28 #다른 디렉토리로 바꿈
29 read pat?"PATH : "
30 cd $pat
31 pwd
32
33 elif [[ $com = [e]* ]]
34 then
35 #종료
36 print '종료'
37
38 else
39 print 'Wrong command!'
40
41 fi
실행 결과
< a 메뉴 실행 결과 >
< b 메뉴 실행 결과 >
< c 메뉴 실행 결과 >
< d 메뉴 실행 결과 >
< e 메뉴 실행 결과 >
< 잘못된 메뉴를 입력하였을 경우 실행 결과 >