doc/TinySKsh.doc doc/UserMan.doc doc/View.doc))(44(04,cleanup)(32(06(11(04,nil:))(31(29,rm)(04,-fr)(04,ram:cp)(04,ram:crc)(04,ram:grep)(04,ram:cat)(04,ram:tail)(04,ram:cut)))))(44(04,error)(32(31(29,echo)(04,-c)(02,\n$b)(02,ERROR: )(02,$e)(02,$1\n))(06(12(02,$errorlog))(31(29,echo)(02,ERROR: $1\n)))(31(29,return)(04,1))))(44(04,warn)(32(31(29,echo)(04,-c)(02,$b)(02,WARNING: )(02,$e)(02,$1\n))(06(12(02,$errorlog))(31(29,echo)(02,WARNING: $1\n)))))(44(04,ck_terminate)(32(39(55(02,$errorlog))(32(31(29,echo)(02,\n${b}Errors were encountered. Check the file $errorlog.${e}\n))(31(04,cleanup))(31(29,return)(04,1)(04,2))))))(44(04,crc_files)(32(31(29,local)(04,fspec))(31(04,fspec)(21,=)(19(31(29,tackon)(02,$1)(02,$2))))(31(29,echo)(04,-n)(01,.))(39(77(55(02,$fspec)))(32(31(29,echo))(31(04,error)(02,this file is missing: $fspec)))(32(26(31(04,crcval)(21,=)(19(31(04,ram:crc)(04,-q)(02,$fspec))))(26(31(04,error)(02,can't crc $fspec))(31(04,ck_terminate))))(39(76(02,$crcval)(02,$3))(32(31(29,echo))(31(04,error)(02,this file has an incorrect checksum: $fspec))))(39(73(70(19(47(85(02,$4)(01,p))))(04,0))(77(59(02,$fspec))))(32(31(29,echo))(31(04,warn)(02,this file should have the pure bit set: $fspec))))(39(73(70(19(47(85(02,$4)(01,s))))(04,0))(77(57(02,$fspec))))(32(31(29,echo))(31(04,warn)(02,this file should have the script bit set: $fspec))))))))(44(04,check_files)(32(31(29,local)(04,notfound)(04,file))(31(04,notfound)(21,=)(01,0))(31(04,sty)(21,=)(02,$1))(31(29,shift))(34(04,file)(33(04,$1))(32(39(74(73(76(02,$sty)(01,PATH))(77(55(02,$file))))(73(75(02,$sty)(01,PATH))(61(19(31(29,which)(04,-s)(02,$file))))))(32(31(04,error)(02,The '$file' file must be present for this script to
operate properly. Please install it in the appropriate
place and run this script again.))(31(04,notfound)(21,=)(04,1))))(31(29,shift))))(31(29,return)(02,$notfound))))(44(04,install_files)(32(31(29,local)(04,install_dir)(04,chmod_flags)(04,overwrite)(04,fspec)(04,file))(31(04,install_dir)(21,=)(02,$1))(31(04,chmod_flags)(21,=)(02,$2))(31(04,overwrite)(21,=)(02,$3))(31(29,shift)(04,3))(34(04,file)(33(04,$1))(32(31(29,echo)(04,-n)(01,.))(31(04,fspec)(21,=)(19(31(29,tackon)(02,$install_dir)(19(31(29,basename)(02,$file))))))(39(55(02,$fspec))(32(39(75(02,$overwrite)(01,Y))(32(26(06(11(04,nil:))(31(29,chmod)(04,+wd)(02,$fspec)))(26(31(04,error)(02,can't chmod +wd $fspec))(31(04,ck_terminate))))(31(04,ow)(21,=)(01,Y)))(32(31(04,ow)(21,=)(01,N)))))(32(31(04,ow)(21,=)(01,Y))))(39(55(02,$file))(32(39(75(02,$ow)(01,Y))(32(26(06(11(04,nil:))(31(04,ram:cp)(02,$file)(02,$fspec)))(26(31(04,error)(02,can't copy $file to $fspec))(31(04,ck_terminate))))(26(06(11(04,nil:))(31(29,chmod)(02,$chmod_flags)(02,$fspec)))(26(31(04,error)(02,can't change $fspec mode to $chmod_flags))(31(04,ck_terminate)))))))(32(31(29,echo))(31(04,error)(02,The file '$file' is missing from the current directory.))(31(29,return)(04,1))))))))(44(04,read_dir)(32(31(29,local)(04,in_dir)(04,read_dir))(31(04,in_dir)(21,=)(01,))(35(74(74(61(02,$in_dir))(73(75(02,$4)(01,directory))(77(56(02,$in_dir)))))(73(75(02,$4)(01,file))(77(55(02,$in_dir)))))(32(31(29,echo))(31(29,echo)(02,$1))(31(29,line)(04,read_dir)(02,$2 $b\[$3]$e ? > )(04,20))(31(04,in_dir)(21,=)(19(31(29,pathconv)(04,-a)(02,$read_dir))))(39(74(73(75(02,$4)(01,directory))(77(56(02,${in_dir:=$3}))))(73(75(02,$4)(01,file))(77(55(02,${in_dir:=$3})))))(32(31(29,echo)(02,\n$in_dir is not a valid $4 name.))(39(75(02,$4)(01,directory))(32(31(29,line)(04,yn)(02,Do you wish to create it? $b[y/N]$e > )(04,20))(39(75(19(47(84(19(31(29,toupper)(02,$yn)))(04,1)(04,1))))(01,Y))(32(26(31(29,mkdir)(04,-p)(02,$in_dir))(31(04,error)(02,can't create directory $in_dir)))))))))))(31(29,export)(04,-l)(04,in_dir))))(44(04,resolve_dir)(32(39(70(19(47(85(02,$1)(01,:))))(04,0))(32(31(04,dev_name)(21,=)(19(31(29,car)(02,$1)(01,:))))(31(04,f_name)(21,=)(19(31(29,cdr)(02,$1)(01,:))))(31(29,tackon)(19(06(31(29,info)(02,$dev_name:))(31(04,ram:tail)(04,-1))(31(04,ram:cut)(04,-c66-200))))(04,$f_name)))(32(31(29,echo)(02,$1))))))(44(04,check_assign)(32(31(29,local)(04,device)(04,loc)(04,descr)(04,defdir)(04,change))(31(04,device)(21,=)(02,$1))(31(04,defdir)(21,=)(02,$2))(31(04,loc)(21,=)(02,$3))(31(04,descr)(21,=)(02,$4))(31(04,change)(21,=)(01,))(31(29,echo)(04,-n)(02,Checking the $device: device...))(39(63(02,$device:))(32(39(76(19(31(29,tolower)(02,$defdir)))(19(31(29,tolower)(02,$loc))))(32(31(04,change)(21,=)(01,TRUE))(31(04,clear))(31(29,echo)(02,${b}Incorrect assignment of $device:${e} - should be $loc.))(31(29,echo)(02,The '$b$device:$e' assignment currently points to the '$b$defdir$e'
directory. You previoulsy installed the $descr
files in '$b$loc$e' directory.
This assignment must be changed for SKsh to operate correctly.)))))(32(31(04,change)(21,=)(01,TRUE))(31(04,clear))(31(29,echo)(02,
The '$b$device:$e' assignment does not currently exist.
This device must be assigned to the directory containing
the $descr files.
You previously installed these files in the '$b$loc$e'
directory.
))))(39(62(02,$change))(32(31(29,echo))(31(29,line)(04,yn)(02,Press return to continue: > ))(31(29,echo)(04,-n)(02,
If you wish, this script will now assign '$b$device:$e' to the
'$b$loc$e' directory. ${b}NOTE:${e} This will ONLY be in affect until
you reboot your computer. To make this change permanent, you must
modify your ${b}${st_file}${e} file and make it create these
assignments.
If you type 'Y' at the prompt below, the following assignment will be
made:
${b}assign $device: $loc${e}
Do you want to make this assignment now? [Y/n] > ))(31(29,read)(04,yn))(39(76(19(47(84(19(31(29,toupper)(02,$yn)))(04,1)(04,1))))(01,N))(32(31(29,echo)(02,Executing ${b}assign $device: $loc${e}...))(31(04,assign)(02,$device:)(02,$loc)))(32(31(29,echo)(02,Assignment not made. You ${b}must${e} make it manually.))(06(11(04,nil:))(31(04,warn)(02,Incorrect assignment of $device: - should be $loc.)))))(31(29,echo))(31(29,line)(04,yn)(02,Press return to continue: > )))(32(31(29,echo)(02,${b}OK${e}))))))(44(04,check_ss)(32(39(31(29,eval)(02,$1))(32(31(29,return)(04,0)))(32(31(29,echo)(02, $stepnum) $2))(06(12(02,$ms_file))(31(29,echo)(02, $stepnum) $2)))(39(62(02,$3))(32(31(29,inc)(04,stepnum))(31(29,echo)(02, $stepnum) $3))(06(12(02,$ms_file))(31(29,echo)(02, $stepnum) $3)))))(31(29,return)(04,1))))))(31(04,clear))(39(77(63(01,ram:)))(32(31(29,echo)(02,${b}ERROR${e}: This script requires the ram: disk to be temporarily mounted.
Also, you can assign ram: to another location. In any case, please
fix this and run this script again.\n))(31(04,cleanup))(31(29,return)(04,0))))(39(74(69(02,$LINES)(04,22))(69(02,$COLUMNS)(04,72)))(32(31(04,error)(02,This script requires a larger window size. Please make
your window at least 22 lines by 72 columns and run this
script again.))(31(04,ck_terminate))))(39(69(19(31(29,version)(04,-s)))(02,$relnum))(32(31(04,error)(02,This script must be run under SKsh $rel or later. Please
dearchive SKsh $rel, and type 'sksh -n Install_$rel.sksh' to
run this script.))(31(04,ck_terminate))))(39(74(74(74(74(77(56(01,bin)))(77(56(01,doc))))(77(56(01,init))))(77(56(01,misc))))(77(56(01,scr))))(32(31(04,error)(02,This script must be invoked from the directory in which
you unarchived the main $arcname file. You can use the -m
option to lharc to automatically create directories:
lharc -m x $arcname))(31(04,ck_terminate))))(39(77(63(01,t:)))(32(31(29,mkdir)(04,-p)(04,ram:tmp))(26(31(04,assign)(04,t:)(04,ram:tmp))(26(31(04,error)(02,can't assign t: to ram:tmp))(31(04,ck_terminate))))))(26(31(04,check_files)(01,PATH)(04,assign))(31(04,ck_terminate)))(26(31(04,check_files)(01,PWD)(01,bin/grep bin/cp bin/cat bin/crc))(31(04,ck_terminate)))(06(11(04,nil:))(31(29,chmod)(04,+wd)(04,ram:grep)(04,ram:cp)(04,ram:cat)(04,ram:crc)))(26(31(04,bin/cp)(04,bin/cp)(04,ram:cp))(26(31(04,error)(02,can't copy 'cp' to ram))(31(04,ck_terminate))))(26(31(04,install_files)(01,ram:)(01,rwedp)(01,Y)(04, )(02,bin/crc bin/grep bin/cat bin/cut bin/tail))(31(04,ck_terminate)))(31(04,clear))(31(29,echo)(02,${b}SKsh $rel installation script ----------------------------------${e}
This script will assist you in installing SKsh $rel by performing
tasks which can be easily automated. It will do the following:
1) Check that all files are present from archive.
2) Input destination directory names for install.
3) Install SKsh files into above dirs (this step can be skipped).
4) check device assignments (sksh:, etc)
5) check integrity of installed SKsh commands
6) Update or create .pp (faster script) files (optional)
7) Install SKsh man pages (optional)
8) Report additional manual activities which are necessary
To run this script, the main SKsh archive (called $arcname)
must have been de-archived in the current directory. You should have
invoked this by typing 'sksh -n Install_$rel.pp' from an AmigaDos CLI.
))(31(29,line)(04,yn)(02,Do you wish to continue? $b[y/N]$e > )(04,20))(31(29,echo))(39(76(19(47(84(19(31(29,toupper)(02,$yn)))(04,1)(04,1))))(01,Y))(32(31(29,echo)(02,Ok, bye.))(31(04,cleanup))(31(29,return))))(06(11(04,nil:))(31(29,rm)(04,-f)(02,$errorlog)))(31(29,chmod)(04,+s)(04,scr/emacs_mode))(26(06(11(04,nil:))(31(04,scr/emacs_mode)))(26(31(04,error)(02,unable to set editing mode))(31(04,ck_terminate))))(31(04,clear))(31(29,echo)(02,${b}STEP ONE: Check unarchived files ---------------------------------${e}))(31(29,echo)(02,
The files in the current working directory will now be checked to
insure that they all have been unarchived in the proper locations.
This script must know the locations of several directories in
order to properly install the SKsh files. Defaults will given in
brackets for each directory - you may press <return> to accept the
default, or type in a legal directory name.
))(31(04,read_dir)(02,Please enter the directory which will contain the main SKsh )(04, )(02,binary)(02,c:)(01,directory))(31(04,sksh_dir)(21,=)(19(31(04,resolve_dir)(02,$in_dir))))(25(63(04,sksh:))(31(04,devsksh)(21,=)(19(31(04,resolve_dir)(01,sksh:)))))(31(04,read_dir)(02,Please enter the directory which will contain the .skshinit )(04, )(02,and .skshrc startup files)(02,${devsksh:-s:})(01,directory))(31(04,init_dir)(21,=)(19(31(04,resolve_dir)(02,$in_dir))))(25(63(04,skshbin:))(31(04,devbin)(21,=)(19(31(04,resolve_dir)(01,skshbin:)))))(31(04,read_dir)(02,Please enter the directory which will contain the SKsh )(04, )(02,external binary commands)(02,${devbin:-sys:bin})(01,directory))(31(04,bin_dir)(21,=)(19(31(04,resolve_dir)(02,$in_dir))))(25(63(04,skshscr:))(31(04,devscr)(21,=)(19(31(04,resolve_dir)(01,skshscr:)))))(31(04,read_dir)(02,Please enter the directory which will contain the SKsh )(04, )(02,external scripts)(02,${devscr:-sys:scr})(01,directory))(31(04,scr_dir)(21,=)(19(31(04,resolve_dir)(02,$in_dir))))(31(29,echo))(31(29,line)(04,yn)(02,Do you wish to install the documentation files? $b[Y/n]$e > )(04,20))(31(04,doc_dir)(21,=)(01,))(39(76(19(47(84(19(31(29,toupper)(02,$yn)))(04,1)(04,1))))(01,N))(32(31(04,read_dir)(02,Please enter the directory which will contain the SKsh )(04, )(02,documentation files.)(02,sys:doc)(01,directory))(31(04,doc_dir)(21,=)(19(31(04,resolve_dir)(02,$in_dir))))))(31(04,clear))(31(29,echo)(02,${b}STEP THREE: install files ------------------------------------${e}))(31(29,echo)(04,-n)(02,
The SKsh files will now be installed in the locations you chose in
${b}step 2${e}. Configuration files such as .skshrc will ${b}not${e} be
overwritten if they exist so that this script can be used for either
a new install, or an update to a later SKsh version. You may choose to
skip this step, although no files will be installed if you do. Choose
Y or press return to perform the installation.
))(31(29,line)(04,yn)(02,Do you wish to perform this step? $b[Y/n]$e > )(04,20))(31(29,echo))(39(75(19(47(84(19(31(29,toupper)(02,$yn)))(04,1)(04,1))))(01,N))(32(31(29,echo)(02,File installation skipped - No files installed.)))(32(31(29,echo)(04,-n)(02,Installing sksh binary.))(26(31(04,install_files)(02,$sksh_dir)(02,rep)(01,Y)(02,$main_files))(31(04,ck_terminate)))(31(29,echo)(04,-n)(02,${b}OK${e}\nInstalling external binary commands.))(26(31(04,install_files)(02,$bin_dir)(02,rep)(01,Y)(02,$bin_files))(31(04,ck_terminate)))(31(29,echo)(04,-n)(02,${b}OK${e}\nInstalling external script commands.))(26(31(04,install_files)(02,$scr_dir)(02,res)(01,Y)(02,$script_files))(31(04,ck_terminate)))(31(29,echo)(04,-n)(02,${b}OK${e}\nInstalling initialization files.))(26(31(04,install_files)(02,$init_dir)(02,res)(01,Y)(02,$init_files))(31(04,ck_terminate)))(26(31(04,install_files)(02,$init_dir)(02,res)(01,N)(02,$config_files))(31(04,ck_terminate)))(39(62(02,$doc_dir))(32(31(29,echo)(04,-n)(02,${b}OK${e}\nInstalling documentation.))(26(31(04,install_files)(02,$doc_dir)(02,r)(01,Y)(02,$doc_files))(31(04,ck_terminate)))))(31(29,echo)(04,-n)(02,${b}OK${e}\n\nFile installation complete. ))))(32(31(29,echo)(04,-n)(02,Press return to continue: > ))(31(29,read)(04,yn)))(31(04,clear))(31(29,echo)(02,${b}STEP FOUR: check device assignments --------------------------${e}))(31(29,echo)(04,-n)(02,
SKsh needs several AmigaDos device assignments in order to operate
correctly. This step will check that those assignments have been made
correctly.
Press return to continue: > ))(31(29,read)(04,yn))(31(29,echo))(31(04,check_assign)(01,sksh)(02,$devsksh)(02,$init_dir)(01,SKsh binary))(31(04,check_assign)(01,skshbin)(02,$devbin)(02,$bin_dir)(01,SKsh external binary))(31(04,check_assign)(01,skshscr)(02,$devscr)(02,$scr_dir)(01,SKsh external script))(31(29,echo)(04,-n)(02,\nPress return to continue: > ))(31(29,read)(04,yn))(31(04,clear))(31(29,echo)(02,${b}STEP FIVE: check integrity of installed files ----------------${e}))(31(29,echo)(04,-n)(02,
This step will verify that the installed files are in place and that
they have proper checksums. No errors should be reported.
Sksh permits a special form of script file, known as a .pp file, to
be executed faster than a plain script file. If you use one for
your .skshrc init file, invocation time will be improved.
If you wish to use a .skshrc.pp, it must match have been created
by SKsh version $rel. This step will allow you to create a new
.skshrc.pp file if you wish.
))(31(29,line)(04,yn)(02,Do you wish to perform this step? $b[Y/n]$e > )(04,20))(31(29,echo))(31(04,rcfile)(21,=)(19(31(29,tackon)(02,$init_dir)(04,.skshrc))))(26(55(02,$rcfile))(26(31(04,error)(02,No .skshrc file found in $init_dir))(31(04,ck_terminate))))(39(75(19(47(84(19(31(29,toupper)(02,$yn)))(04,1)(04,1))))(01,N))(32(31(29,echo)(02,\nStep skipped, no .skshrc.pp file created.)))(32(39(55(02,${rcfile}.pp))(32(31(29,echo)(02,Re-creating .skshrc.pp from .skshrc...)))(32(31(29,echo)(02,No .skshrc.pp file found, creating new one...))))(26(06(10(02,$rcfile))(11(02,${rcfile}.pp))(31(29,preparse)))(26(31(04,error)(02,Unable to create .skshrc.pp file in $init_dir))(31(04,ck_terminate))))(31(29,echo)(02,Process complete.))))(31(29,echo)(04,-n)(02,\nPress return to continue: > ))(31(29,read)(04,yn))(31(04,clear))(31(29,echo)(02,${b}STEP SEVEN: Install SKsh manual pages ------------------------${e}))(31(29,echo)(02,
If you wish to use the SKsh 'man' program to access the manual pages
for commands, variables, and aliases supplied by SKsh, you will need
to perform this step. It is automated. SKsh manpages reside in the
MAN:SKsh directory, where man points to any valid AmigaDos directory.
This step will create such a directory if it does not exist, and copy
the manpages there. The manpages are extracted from the Reference.doc
and ExtCmds.doc files in the doc directory. You must have enough disk
space to store the manpages.
You may choose to skip this step, but if you do, you will be unable to
use the SKsh manpages.
))(31(04,perf_man)(21,=)(04,FALSE))(31(29,line)(04,yn)(02,Do you wish to perform this step? $b[Y/n]$e > )(04,20))(39(76(19(47(84(19(31(29,toupper)(02,$yn)))(04,1)(04,1))))(01,N))(32(31(04,perf_man)(21,=)(04,TRUE))(31(04,clear))(39(77(63(01,MAN:)))(32(31(29,echo)(02,You do not currently have a MAN: assignment. You must make
one now in order to install the manpages.\n))(31(04,man_dir)(21,=)(01,sys:man)))(32(31(04,man_dir)(21,=)(19(31(04,resolve_dir)(02,MAN:))))(31(29,echo)(02,Your current MAN: directory is $man_dir. Press return to
use this directory, or type in a new one.))))(31(04,read_dir)(02,Please enter the directory which will contain the SKsh)(04, )(02,manpage entries)(02,$man_dir)(01,directory))(31(04,man_dir)(21,=)(19(31(04,resolve_dir)(02,$in_dir))))(31(04,assign)(04,MAN:)(02,$man_dir))(31(04,sman_dir)(21,=)(19(31(29,tackon)(02,$man_dir)(04,SKsh))))(26(31(29,mkdir)(04,-p)(02,$sman_dir))(26(31(04,error)(02,Can't create $sman_dir))(31(04,ck_terminate))))(26(31(04,check_files)(01,PWD)(01,bin/doc2man))(31(04,ck_terminate)))(31(04,clear))(31(29,echo)(02,Extracting manpages.....\n))(31(04,bin/doc2man)(04,doc/Reference.doc)(04,doc/ExtCmds.doc))(31(29,echo))(31(29,line)(04,yn)(02,Done extracting SKsh manpages. Press return > )(04,0)))(32(31(29,echo))(31(29,line)(04,yn)(02,Skipping manpage extraction. Press return > )(04,0))))(31(04,clear))(31(29,echo)(02,${b}STEP EIGHT: manual steps -------------------------------------${e}))(31(29,echo)(02,
Some manual steps may be necessary to finish installing SKsh. A
list of these steps will be generated here.))(31(04,read_dir)(02,Please enter the file name which contains your AmigaDos )(04, )(02,startup instructions)(02,$st_file)(01,file))(31(04,st_file)(21,=)(02,$in_dir))(31(29,echo)(04,-n)(02,Press return to continue: > ))(32(31(29,read)(04,yn)))(31(04,stepnum)(21,=)(04,1))(06(11(04,nil:))(31(29,rm)(04,-f)(02,$ms_file)))(31(04,clear))(31(29,echo)(01,\n--- Manual Steps Necessary for SKsh Installation --------------\n))(06(12(02,$ms_file))(31(29,echo)(01,\n--- Manual Steps Necessary for SKsh Installation --------------\n)(04, )))(32(31(04,ss_cont)(21,=)(19(31(04,ram:cat)(02,$st_file)))))(39(31(04,check_ss)(01,echo "$ss_cont" | ram:grep -is ".bra ")(04, )(02,Insert '.bra [' in $st_file (unless c:execute is Arp)))(32(31(29,true)))(32(31(29,inc)(04,stepnum))))(39(31(04,check_ss)(01,echo "$ss_cont" | ram:grep -is ".ket ")(04, )(02,Insert '.ket ]' in $st_file (unless c:execute is Arp)))(32(31(29,true)))(32(31(29,inc)(04,stepnum))))(39(31(04,check_ss)(01,echo "$ss_cont" | ram:grep -is "stack ")(04, )(02,Insert 'stack 8000' (or larger) in $st_file))(32(31(29,true)))(32(31(29,inc)(04,stepnum))))(39(31(04,check_ss)(01,echo "$ss_cont" | ram:grep -i "t: " | ram:grep -si "assign ")(04, )(02,Insert 'makedir >nil: ram:tmp' in $st_file)(04, )(02,Insert 'assign t: ram:tmp' in $st_file))(32(31(29,true)))(32(31(29,inc)(04,stepnum)(04,2))))(39(31(04,check_ss)(01,echo "$ss_cont" | ram:grep -i "env: " | ram:grep -si "assign ")(04, )(02,Insert 'makedir >nil: t:env' in $st_file)(04, )(02,Insert 'assign env: t:env' in $st_file))(32(31(29,true)))(32(31(29,inc)(04,stepnum)(04,2))))(39(31(04,check_ss)(01,echo "$ss_cont" | ram:grep -i "sksh: " | ram:grep -si "assign ")(04, )(02,Insert 'assign sksh: $init_dir' in $st_file))(32(39(31(04,check_ss)(01,echo "$ss_cont" | ram:grep -i "sksh: " | ram:grep -i "assign " | \
ram:grep -si "$init_dir")(04, )(02,modify the the 'assign sksh:' statement in $st_file
optional, but it will save memory if SKsh is invoked
from a NewCLI window)))(32(31(29,true)))(32(31(29,inc)(04,stepnum))))(39(67(02,$stepnum)(04,1))(32(31(29,echo)(02,\n** No manual steps necessary **\n))(06(11(04,nil:))(31(29,rm)(04,-f)(02,$ms_file))))(32(31(29,echo)(02,\nA listing of the manual steps has been placed in '$ms_file'\n))))(31(29,line)(04,yn)(02,Press return to continue: > ))(31(04,clear))(31(29,echo)(02,${b}DONE: installation complete ----------------------------------${e}))(31(29,echo)(02,
The SKsh installation is complete. If you performed step 3 (install
files), then the files in this directory have been copied to their
proper installation directories, and you may delete the files in this
directory. However, the files in the 'scr_source' and 'misc'
directories have not been installed, as they are not necessary to run
SKsh. If you wish to keep them, you should copy or move them to a
safe place.
${b}SKsh is freely distributable software. It is copyrighted, and is
_not_ public domain.${e} Please see UserMan.doc for copyright details.
))(39(55(02,$ms_file))(32(31(29,echo)(02,Don't forget to perform the manual steps which are listed in the