Introduction - If you have any usage issues, please Google them yourself
Solaris Shell Programming Environment Program, which is perfect for beginners to introduce the practice. SUN companies to provide the source code.
Packet : 85375573sa245_shellprograming.zip filelist
SA245_A.1_1100/SA245_LF/
SA245_A.1_1100/SA245_LF/AppendixA/
SA245_A.1_1100/SA245_LF/AppendixA/examples/
SA245_A.1_1100/SA245_LF/AppendixA/examples/getopts1.ksh
SA245_A.1_1100/SA245_LF/AppendixA/examples/getopts1.sh
SA245_A.1_1100/SA245_LF/AppendixA/examples/getopts2.ksh
SA245_A.1_1100/SA245_LF/AppendixA/examples/getopts2.sh
SA245_A.1_1100/SA245_LF/AppendixA/examples/getoptsex.ksh
SA245_A.1_1100/SA245_LF/AppendixA/examples/getoptsex.sh
SA245_A.1_1100/SA245_LF/AppendixA/lab/
SA245_A.1_1100/SA245_LF/AppendixA/lab/solutions/
SA245_A.1_1100/SA245_LF/AppendixA/lab/solutions/getopts3.ksh
SA245_A.1_1100/SA245_LF/AppendixA/lab/solutions/getopts3.sh
SA245_A.1_1100/SA245_LF/AppendixB/
SA245_A.1_1100/SA245_LF/AppendixB/examples/
SA245_A.1_1100/SA245_LF/AppendixB/examples/args.nawk
SA245_A.1_1100/SA245_LF/AppendixB/examples/bigcats
SA245_A.1_1100/SA245_LF/AppendixB/examples/data.file
SA245_A.1_1100/SA245_LF/AppendixB/examples/for.nawk
SA245_A.1_1100/SA245_LF/AppendixB/examples/for2.nawk
SA245_A.1_1100/SA245_LF/AppendixB/examples/func.nawk
SA245_A.1_1100/SA245_LF/AppendixB/examples/junkfile
SA245_A.1_1100/SA245_LF/AppendixC/
SA245_A.1_1100/SA245_LF/AppendixC/examples/
SA245_A.1_1100/SA245_LF/AppendixC/examples/data1
SA245_A.1_1100/SA245_LF/AppendixD/
SA245_A.1_1100/SA245_LF/AppendixD/examples/
SA245_A.1_1100/SA245_LF/AppendixD/examples/animals
SA245_A.1_1100/SA245_LF/AppendixD/examples/data.file
SA245_A.1_1100/SA245_LF/AppendixD/examples/script2.sed
SA245_A.1_1100/SA245_LF/AppendixD/examples/script3.sed
SA245_A.1_1100/SA245_LF/AppendixD/examples/script4.sed
SA245_A.1_1100/SA245_LF/AppendixF/
SA245_A.1_1100/SA245_LF/AppendixF/examples/
SA245_A.1_1100/SA245_LF/AppendixF/examples/data1
SA245_A.1_1100/SA245_LF/AppendixF/examples/data2
SA245_A.1_1100/SA245_LF/AppendixF/examples/data3
SA245_A.1_1100/SA245_LF/AppendixF/examples/file1
SA245_A.1_1100/SA245_LF/AppendixF/examples/file2
SA245_A.1_1100/SA245_LF/AppendixF/examples/file3
SA245_A.1_1100/SA245_LF/AppendixF/examples/names
SA245_A.1_1100/SA245_LF/AppendixF/examples/phonefile
SA245_A.1_1100/SA245_LF/AppendixF/examples/tr.info
SA245_A.1_1100/SA245_LF/mod1/
SA245_A.1_1100/SA245_LF/mod10/
SA245_A.1_1100/SA245_LF/mod10/examples/
SA245_A.1_1100/SA245_LF/mod10/examples/argtest.ksh
SA245_A.1_1100/SA245_LF/mod10/examples/argtest.sh
SA245_A.1_1100/SA245_LF/mod10/examples/pospara2.ksh
SA245_A.1_1100/SA245_LF/mod10/examples/posparatest1.ksh
SA245_A.1_1100/SA245_LF/mod10/examples/posparatest2.sh
SA245_A.1_1100/SA245_LF/mod10/examples/strman1.ksh
SA245_A.1_1100/SA245_LF/mod10/examples/strman2.ksh
SA245_A.1_1100/SA245_LF/mod10/examples/strman3.ksh
SA245_A.1_1100/SA245_LF/mod10/lab/
SA245_A.1_1100/SA245_LF/mod10/lab/solutions/
SA245_A.1_1100/SA245_LF/mod10/lab/solutions/arginfo.ksh
SA245_A.1_1100/SA245_LF/mod10/lab/solutions/parsepath.ksh
SA245_A.1_1100/SA245_LF/mod11/
SA245_A.1_1100/SA245_LF/mod11/examples/
SA245_A.1_1100/SA245_LF/mod11/examples/funparas.ksh
SA245_A.1_1100/SA245_LF/mod11/examples/holder
SA245_A.1_1100/SA245_LF/mod11/examples/holdertest.ksh
SA245_A.1_1100/SA245_LF/mod11/examples/kshrc
SA245_A.1_1100/SA245_LF/mod11/lab/
SA245_A.1_1100/SA245_LF/mod11/lab/solutions/
SA245_A.1_1100/SA245_LF/mod11/lab/solutions/firstfunc.ksh
SA245_A.1_1100/SA245_LF/mod11/lab/solutions/parsepath
SA245_A.1_1100/SA245_LF/mod11/lab/solutions/secondfunc.ksh
SA245_A.1_1100/SA245_LF/mod12/
SA245_A.1_1100/SA245_LF/mod12/examples/
SA245_A.1_1100/SA245_LF/mod12/examples/traperr1.ksh
SA245_A.1_1100/SA245_LF/mod12/examples/trapsig.ksh
SA245_A.1_1100/SA245_LF/mod12/examples/trapsig.sh
SA245_A.1_1100/SA245_LF/mod12/examples/trapsig2.ksh
SA245_A.1_1100/SA245_LF/mod12/lab/
SA245_A.1_1100/SA245_LF/mod12/lab/mypasswd
SA245_A.1_1100/SA245_LF/mod12/lab/solutions/
SA245_A.1_1100/SA245_LF/mod12/lab/solutions/adduser.ksh
SA245_A.1_1100/SA245_LF/mod12/lab/solutions/mypasswd
SA245_A.1_1100/SA245_LF/mod1/examples/
SA245_A.1_1100/SA245_LF/mod1/examples/echoscript1.sh
SA245_A.1_1100/SA245_LF/mod1/examples/echoscript2.ksh
SA245_A.1_1100/SA245_LF/mod1/examples/volmgt
SA245_A.1_1100/SA245_LF/mod1/lab/
SA245_A.1_1100/SA245_LF/mod1/lab/solutions/
SA245_A.1_1100/SA245_LF/mod1/lab/solutions/scriptsolution
SA245_A.1_1100/SA245_LF/mod2/
SA245_A.1_1100/SA245_LF/mod2/examples/
SA245_A.1_1100/SA245_LF/mod2/examples/debug1.sh
SA245_A.1_1100/SA245_LF/mod2/examples/debug2.sh
SA245_A.1_1100/SA245_LF/mod2/examples/debug3.ksh
SA245_A.1_1100/SA245_LF/mod2/examples/debug4.ksh
SA245_A.1_1100/SA245_LF/mod2/lab/
SA245_A.1_1100/SA245_LF/mod2/lab/debugscript.sh
SA245_A.1_1100/SA245_LF/mod2/lab/solutions/
SA245_A.1_1100/SA245_LF/mod2/lab/solutions/debug1.sh
SA245_A.1_1100/SA245_LF/mod2/lab/solutions/debug2.sh
SA245_A.1_1100/SA245_LF/mod2/lab/solutions/debugscript.sh
SA245_A.1_1100/SA245_LF/mod2/lab/solutions/echoscript.ksh
SA245_A.1_1100/SA245_LF/mod2/lab/solutions/echoscript.sh
SA245_A.1_1100/SA245_LF/mod2/lab/solutions/firstscript.sh
SA245_A.1_1100/SA245_LF/mod2/lab/solutions/scriptwithcomments.sh
SA245_A.1_1100/SA245_LF/mod2/lab/solutions/template.ksh
SA245_A.1_1100/SA245_LF/mod2/lab/solutions/template.sh
SA245_A.1_1100/SA245_LF/mod3/
SA245_A.1_1100/SA245_LF/mod3/examples/
SA245_A.1_1100/SA245_LF/mod3/examples/currentinfo.ksh
SA245_A.1_1100/SA245_LF/mod3/examples/math.ksh
SA245_A.1_1100/SA245_LF/mod3/lab/
SA245_A.1_1100/SA245_LF/mod3/lab/solutions/
SA245_A.1_1100/SA245_LF/mod3/lab/solutions/multiply.ksh
SA245_A.1_1100/SA245_LF/mod4/
SA245_A.1_1100/SA245_LF/mod4/examples/
SA245_A.1_1100/SA245_LF/mod4/examples/teams
SA245_A.1_1100/SA245_LF/mod4/lab/
SA245_A.1_1100/SA245_LF/mod4/lab/adduser_ksh.template
SA245_A.1_1100/SA245_LF/mod4/lab/adduser_sh.template
SA245_A.1_1100/SA245_LF/mod4/lab/mypasswd
SA245_A.1_1100/SA245_LF/mod4/lab/solutions/
SA245_A.1_1100/SA245_LF/mod4/lab/solutions/adduser.ksh
SA245_A.1_1100/SA245_LF/mod4/lab/solutions/adduser.sh
SA245_A.1_1100/SA245_LF/mod4/lab/solutions/mypasswd
SA245_A.1_1100/SA245_LF/mod4/lab/solutions/twogreps.sh
SA245_A.1_1100/SA245_LF/mod5/
SA245_A.1_1100/SA245_LF/mod5/examples/
SA245_A.1_1100/SA245_LF/mod5/examples/data.file
SA245_A.1_1100/SA245_LF/mod5/examples/northmesg
SA245_A.1_1100/SA245_LF/mod5/examples/script1.sed
SA245_A.1_1100/SA245_LF/mod5/examples/script5.sed
SA245_A.1_1100/SA245_LF/mod5/lab/
SA245_A.1_1100/SA245_LF/mod5/lab/hostswithspaces
SA245_A.1_1100/SA245_LF/mod5/lab/passwd2
SA245_A.1_1100/SA245_LF/mod5/lab/solutions/
SA245_A.1_1100/SA245_LF/mod5/lab/solutions/hostswithspaces
SA245_A.1_1100/SA245_LF/mod5/lab/solutions/labscript1.sed
SA245_A.1_1100/SA245_LF/mod5/lab/solutions/labscript2.sed
SA245_A.1_1100/SA245_LF/mod5/lab/solutions/notrailingspaces.sed
SA245_A.1_1100/SA245_LF/mod5/lab/solutions/passwd2
SA245_A.1_1100/SA245_LF/mod6/
SA245_A.1_1100/SA245_LF/mod6/examples/
SA245_A.1_1100/SA245_LF/mod6/examples/data.file
SA245_A.1_1100/SA245_LF/mod6/examples/guided-nawk-script-dir/
SA245_A.1_1100/SA245_LF/mod6/examples/guided-nawk-script-dir/filesystemscript.ksh
SA245_A.1_1100/SA245_LF/mod6/examples/guided-nawk-script-dir/users.nawk
SA245_A.1_1100/SA245_LF/mod6/examples/guided-nawk-script-dir/users1
SA245_A.1_1100/SA245_LF/mod6/examples/guided-nawk-script-dir/users2
SA245_A.1_1100/SA245_LF/mod6/examples/numexample.nawk
SA245_A.1_1100/SA245_LF/mod6/examples/numexample2.nawk
SA245_A.1_1100/SA245_LF/mod6/examples/numexample3.nawk
SA245_A.1_1100/SA245_LF/mod6/examples/raggeddata.file
SA245_A.1_1100/SA245_LF/mod6/examples/report.nawk
SA245_A.1_1100/SA245_LF/mod6/examples/report2.nawk
SA245_A.1_1100/SA245_LF/mod6/examples/report3.nawk
SA245_A.1_1100/SA245_LF/mod6/examples/report4.nawk
SA245_A.1_1100/SA245_LF/mod6/lab/
SA245_A.1_1100/SA245_LF/mod6/lab/data.file
SA245_A.1_1100/SA245_LF/mod6/lab/mypasswd
SA245_A.1_1100/SA245_LF/mod6/lab/raggeddata.file
SA245_A.1_1100/SA245_LF/mod6/lab/solutions/
SA245_A.1_1100/SA245_LF/mod6/lab/solutions/end-of-module/
SA245_A.1_1100/SA245_LF/mod6/lab/solutions/end-of-module/adduser.ksh
SA245_A.1_1100/SA245_LF/mod6/lab/solutions/end-of-module/adduser.sh
SA245_A.1_1100/SA245_LF/mod6/lab/solutions/end-of-module/bournecounter.nawk
SA245_A.1_1100/SA245_LF/mod6/lab/solutions/end-of-module/data.file
SA245_A.1_1100/SA245_LF/mod6/lab/solutions/end-of-module/korncounter.nawk
SA245_A.1_1100/SA245_LF/mod6/lab/solutions/end-of-module/kshshscript.ksh
SA245_A.1_1100/SA245_LF/mod6/lab/solutions/end-of-module/mypasswd
SA245_A.1_1100/SA245_LF/mod6/lab/solutions/end-of-module/northsouthreport.nawk
SA245_A.1_1100/SA245_LF/mod6/lab/solutions/end-of-module/raggedcount.nawk
SA245_A.1_1100/SA245_LF/mod6/lab/solutions/end-of-module/raggeddata.file
SA245_A.1_1100/SA245_LF/mod6/lab/solutions/mid-module/
SA245_A.1_1100/SA245_LF/mod6/lab/solutions/mid-module/data.file
SA245_A.1_1100/SA245_LF/mod7/
SA245_A.1_1100/SA245_LF/mod7/examples/
SA245_A.1_1100/SA245_LF/mod7/examples/argtest.ksh
SA245_A.1_1100/SA245_LF/mod7/examples/case.ksh
SA245_A.1_1100/SA245_LF/mod7/examples/findroot.ksh
SA245_A.1_1100/SA245_LF/mod7/examples/leap.ksh
SA245_A.1_1100/SA245_LF/mod7/examples/leap2.ksh
SA245_A.1_1100/SA245_LF/mod7/examples/leap2.sh
SA245_A.1_1100/SA245_LF/mod7/examples/monthcheck.ksh
SA245_A.1_1100/SA245_LF/mod7/examples/monthcheck.sh
SA245_A.1_1100/SA245_LF/mod7/examples/numtest.ksh
SA245_A.1_1100/SA245_LF/mod7/examples/snoopy.sh
SA245_A.1_1100/SA245_LF/mod7/examples/snoopy2.ksh
SA245_A.1_1100/SA245_LF/mod7/examples/snoopy3.ksh
SA245_A.1_1100/SA245_LF/mod7/examples/snoopynap.ksh
SA245_A.1_1100/SA245_LF/mod7/examples/termcheck.ksh
SA245_A.1_1100/SA245_LF/mod7/lab/
SA245_A.1_1100/SA245_LF/mod7/lab/mypasswd
SA245_A.1_1100/SA245_LF/mod7/lab/solutions/
SA245_A.1_1100/SA245_LF/mod7/lab/solutions/adduser.ksh
SA245_A.1_1100/SA245_LF/mod7/lab/solutions/adduser.sh
SA245_A.1_1100/SA245_LF/mod7/lab/solutions/filetype.sh
SA245_A.1_1100/SA245_LF/mod7/lab/solutions/mypasswd
SA245_A.1_1100/SA245_LF/mod8/
SA245_A.1_1100/SA245_LF/mod8/examples/
SA245_A.1_1100/SA245_LF/mod8/examples/heredocSUNW.ksh
SA245_A.1_1100/SA245_LF/mod8/examples/io1.sh
SA245_A.1_1100/SA245_LF/mod8/examples/io2.ksh
SA245_A.1_1100/SA245_LF/mod8/examples/io3.ksh
SA245_A.1_1100/SA245_LF/mod8/examples/readex.ksh
SA245_A.1_1100/SA245_LF/mod8/examples/readex.sh
SA245_A.1_1100/SA245_LF/mod8/examples/termheredoc.ksh
SA245_A.1_1100/SA245_LF/mod8/lab/
SA245_A.1_1100/SA245_LF/mod8/lab/mypasswd
SA245_A.1_1100/SA245_LF/mod8/lab/solutions/
SA245_A.1_1100/SA245_LF/mod8/lab/solutions/adduser.sh
SA245_A.1_1100/SA245_LF/mod8/lab/solutions/backupscript.sh
SA245_A.1_1100/SA245_LF/mod8/lab/solutions/mypasswd
SA245_A.1_1100/SA245_LF/mod9/
SA245_A.1_1100/SA245_LF/mod9/examples/
SA245_A.1_1100/SA245_LF/mod9/examples/break.ksh
SA245_A.1_1100/SA245_LF/mod9/examples/continue.ksh
SA245_A.1_1100/SA245_LF/mod9/examples/ex1.sh
SA245_A.1_1100/SA245_LF/mod9/examples/ex2.sh
SA245_A.1_1100/SA245_LF/mod9/examples/ex3.ksh
SA245_A.1_1100/SA245_LF/mod9/examples/ex4.sh
SA245_A.1_1100/SA245_LF/mod9/examples/ex5.ksh
SA245_A.1_1100/SA245_LF/mod9/examples/ex6.ksh
SA245_A.1_1100/SA245_LF/mod9/examples/ex7.ksh
SA245_A.1_1100/SA245_LF/mod9/examples/for.ksh
SA245_A.1_1100/SA245_LF/mod9/examples/fruit1
SA245_A.1_1100/SA245_LF/mod9/examples/fruit2
SA245_A.1_1100/SA245_LF/mod9/examples/fruit3
SA245_A.1_1100/SA245_LF/mod9/examples/fruit4
SA245_A.1_1100/SA245_LF/mod9/examples/internalredir.ksh
SA245_A.1_1100/SA245_LF/mod9/examples/menu.ksh
SA245_A.1_1100/SA245_LF/mod9/examples/menu1.ksh
SA245_A.1_1100/SA245_LF/mod9/examples/phonelist
SA245_A.1_1100/SA245_LF/mod9/examples/pospara.ksh
SA245_A.1_1100/SA245_LF/mod9/examples/readinput.ksh
SA245_A.1_1100/SA245_LF/mod9/examples/shift.ksh
SA245_A.1_1100/SA245_LF/mod9/examples/submenu.ksh
SA245_A.1_1100/SA245_LF/mod9/examples/test.dir/
SA245_A.1_1100/SA245_LF/mod9/examples/test.dir/a
SA245_A.1_1100/SA245_LF/mod9/examples/test.dir/Als
SA245_A.1_1100/SA245_LF/mod9/examples/test.dir/Data.File
SA245_A.1_1100/SA245_LF/mod9/examples/test.dir/recreate_names
SA245_A.1_1100/SA245_LF/mod9/examples/test.dir/scR1
SA245_A.1_1100/SA245_LF/mod9/examples/test.dir/slAlk
SA245_A.1_1100/SA245_LF/mod9/examples/test.dir/sOrt.dAtA
SA245_A.1_1100/SA245_LF/mod9/examples/test.dir/teXtfile
SA245_A.1_1100/SA245_LF/mod9/examples/until.ksh
SA245_A.1_1100/SA245_LF/mod9/examples/while.ksh
SA245_A.1_1100/SA245_LF/mod9/examples/whiletest.ksh
SA245_A.1_1100/SA245_LF/mod9/examples/whiletest.sh
SA245_A.1_1100/SA245_LF/mod9/examples/whiletest2.ksh
SA245_A.1_1100/SA245_LF/mod9/lab/
SA245_A.1_1100/SA245_LF/mod9/lab/mypasswd
SA245_A.1_1100/SA245_LF/mod9/lab/solutions/
SA245_A.1_1100/SA245_LF/mod9/lab/solutions/end-of-module/
SA245_A.1_1100/SA245_LF/mod9/lab/solutions/end-of-module/adduser.ksh
SA245_A.1_1100/SA245_LF/mod9/lab/solutions/end-of-module/filetype2.sh
SA245_A.1_1100/SA245_LF/mod9/lab/solutions/end-of-module/filetype3.sh
SA245_A.1_1100/SA245_LF/mod9/lab/solutions/end-of-module/mypasswd
SA245_A.1_1100/SA245_LF/mod9/lab/solutions/mid-module/
SA245_A.1_1100/SA245_LF/mod9/lab/solutions/mid-module/rcscripts.ksh
SA245_A.1_1100/SA245_LF/mod9/lab/solutions/mypasswd
SA245_A.1_1100/SA245_LF/mypasswd