Repository: geektime-geekbang/geekbanglinux Branch: master Commit: 56d980ff45e4 Files: 22 Total size: 2.6 KB Directory structure: gitextract_uj7qur02/ ├── README.md ├── demo/ │ ├── 1.sh │ ├── 10.sh │ ├── 11.sh │ ├── 12.sh │ ├── 13.sh │ ├── 14.sh │ ├── 15.sh │ ├── 2.sh │ ├── 3.sh │ ├── 4.sh │ ├── 5.sh │ ├── 6.sh │ ├── 7.sh │ ├── 8.sh │ ├── 9.sh │ ├── README │ ├── arg.awk │ ├── kpi.txt │ ├── myfunc.awk │ └── result.awk └── ppt/ └── readme ================================================ FILE CONTENTS ================================================ ================================================ FILE: README.md ================================================ # Linux 实战技能100讲 课程相关文档 ================================================ FILE: demo/1.sh ================================================ #!/bin/bash # demo cd /var/ ls pwd du -sh du -sh * ================================================ FILE: demo/10.sh ================================================ #!/bin/bash # root user1 other if [ $USER = root ] ; then echo "root" elif [ $USER = user1 ] ;then echo "user1" else echo " other user" fi ================================================ FILE: demo/11.sh ================================================ #!/bin/bash # demo if then if then fi fi if [ $UID = 0 ] ; then echo " please run" if [ -x /tmp/10.sh ] ; then /tmp/10.sh fi else echo " switch user root " fi ================================================ FILE: demo/12.sh ================================================ #!/bin/bash # case demo case "$1" in "start"|"START") echo $0 start..... ;; "stop") echo $0 stop..... ;; "restart"|"reload") echo $0 restart.... ;; *) echo "Usage: $0 {start|stop|restart|reload}" ;; esac ================================================ FILE: demo/13.sh ================================================ #!/bin/bash # help display help help #for pos in $* #do # if [ "$pos" = "help" ]; then # echo $pos $pos # fi # # #done while [ $# -ge 1 ] do if [ "$1" = "help" ]; then echo $1 $1 fi shift done ================================================ FILE: demo/14.sh ================================================ #!/bin/bash # functions checkpid() { local i for i in $* ; do [ -d "/proc/$i" ] && return 0 done return 1 } ================================================ FILE: demo/15.sh ================================================ #!/bin/bash # signal demo trap "echo sig 15" 15 trap "echo sig 2" 2 echo $$ while : do : done ================================================ FILE: demo/2.sh ================================================ #!/bin/bash # demo 2 cd /tmp pwd ================================================ FILE: demo/3.sh ================================================ #!/bin/bash cat > /root/a.sh <num2) return num1 else return num2 } } ================================================ FILE: demo/result.awk ================================================ { sum = 0 for( column = 2 ; column <= NF; column++ ) sum += $column average[$1] = sum / ( NF - 1 ) if( average[$1] >= 80 ) letter = "S" else if( average[$1] >= 70 ) letter = "A" else if( average[$1] >= 60 ) letter = "B" else letter = "C" print $1,average[$1],letter letter_all[letter]++ } END{ for( user in average ) sum_all += average[user] avg_all = sum_all / NR print "average all:",avg_all for( user in average ) if( average[user] > avg_all ) above++ else below++ print "above",above print "below",below print "S:",letter_all["S"] print "A:",letter_all["A"] print "B:",letter_all["B"] print "C:",letter_all["C"] } ================================================ FILE: ppt/readme ================================================