home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Addendum for Version 1.6
-
- SKsh
-
- A ksh-like Shell for the Amiga
-
- Version 1.7
-
-
- (Copyright) 1988-1991
-
- Steve Koren
-
- May 4, 1991
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Addendum to Version 1.6
-
- This document describes additions and changes to SKsh since
- version 1.6. 1.6 is a "small" release; there are several new
- features, but nothing "significant". This release is intended
- mainly to fix several bugs in 1.5, and to add a few minor fea-
- tures (such as command line cut and paste). I am making this
- a "small" release for the following reasons:
-
- * I wanted to get it distributed as soon as possible after
- 1.5 to fix the "+C" file completion bug and the ARexx
- port bug described below.
-
- * I am currently too busy to do another major release in a
- reasonable time; this will help bridge the gap until the
- next major release.
-
- * I am changing addresses and wanted to get the new contact
- address in this version. See the MiscInfo.doc manual for
- details.
-
-
- The following are changes since SKsh 1.5:
-
- cilist command added
-
- A new cilist command, similar to the dwclist and complist
- commands, has been added. It contains SKsh patterns which
- will be ignored by the file completion mechanism. For ex-
- ample, if this list contained '*.bak' and "*.info", all
- .bak and .info files would be ignored for file completion.
- Any pattern may be used, and the '/' character is not
- treated specially.
-
- When adding patterns to the cilist, they must be quoted to
- avoid being interpreted by the shell. Another solution is
- to add the cilist command to the dwclist, which allows the
- wildcards to be passed on unexpanded.
-
- This command is described in more detail in the reference
- manual. Please see that document for details.
-
-
- 'r' added as synonym for 'd' in complist, dwclist, cilist
-
- It was previously difficult to remember whether 'r' (for
- remove) was used in the above commands, or 'd' (for de-
- lete). Both are now accepted, and remove the supplied ar-
- guments from the indicated list.
-
-
-
-
-
-
-
- SKsh Amiga Shell Page 2 Addendum to 1.6
-
-
-
-
-
-
-
-
-
- -q option added to crc command
-
- A -q option is now accepted by the crc command. This op-
- tion tells crc not to output the file names, but only the
- redundancy code information. This option actually existed
- in the 1.4 version, but was not documented.
-
-
- +C File completion fixed
-
- There was a bug in SKsh 1.5 which caused filename comple-
- tion to break if the +C (complist) option was unset. This
- has been fixed.
-
-
- ARexx port bug fixed
-
- A value in SKsh 1.5 was off by several orders of magnitude,
- causing an SKsh invoked with an ARexx port to both use
- large amounts of CPU time, and to cause strange side ef-
- fects in the system. This has been fixed.
-
-
- More keymapping functions added
-
- Several new key map functions have been added, including:
- ISM (insert mode), OVS (overstrike mode), PIO (previous in-
- sert/overstrike mode), YNK (yank), CEL (copy to end of
- line), and ERC (explicitly set repeat count).
-
-
- Esc-# macro fixed
-
- The Esc-# (comment out line) macro previously worked only
- in insert mode. In overstrike mode, it would erase the
- first character of the line. It now uses the new keymap
- functions mentioned above to operate correctly in either
- insert or overstrike mode.
-
-
- Touch bug fixed
-
- The touch command would previously update the datestamp of
- a file only if the file was in the current directory. This
- has been fixed.
-
-
- cp bug fixed
-
- A similar datestamp bug in "cp" has been fixed; files cop-
- ied to other directories now correctly retain their
- datestamp. This makes the "-u" (update) option to "cp"
- much more useful.
-
-
-
- SKsh Amiga Shell Page 3 Addendum to 1.6
-
-
-
-
-
-
-
-
-
-
- head command now accepts multiple arguments
-
- The head command previously ignored multiple arguments. It
- no longer does this.
-
-
- line truncation problem fixed
-
- Certain commands, such as "history" and "set" truncate
- their output to the width of the window. However, they
- were incorrectly truncating the output even if it was redi-
- rected to a file or variable. This no longer happens; they
- output the full line width in these cases.
-
-
- tail buffer size change
-
- If the output of the tail command is to the console, it
- will output 80 byte records at a time instead of the previ-
- ous 16K. This allows the output to be stopped from the
- console device. It will still use 16K blocks to increase
- performance if the output is directed to a file.
-
- tail character 0 bug fixed
-
- If the 1.5 tail command was given an argument larger than
- the number of lines in the file, the first character would
- be omitted. This no longer happens.
-
-
- INTERACTIVE variable added
-
- A variable has been added which can be used to check
- whether the current SKsh invocation is an interactive one.
- This is in preparation for a change in the invocation model
- to take place in SKsh 1.7. Please see the Reference.doc
- entry for the INTERACTIVE variable for details on this
- change. It will become important to understand the INTER-
- ACTIVE variable in SKsh 1.7; I am adding it now to avoid
- making a change in the invocation model suddenly.
-
-
- find external command added
-
- A find command, similar to the Un*x command of the same
- name, has been added as an external binary. Find has many
- options, including the following:
-
-
-
-
-
-
-
-
- SKsh Amiga Shell Page 4 Addendum to 1.6
-
-
-
-
-
-
-
-
-
- -name pattern find files matching pattern
- -path pattern similar to -name but for paths
- -comment pattern files who's comment matches pattern
- -type { d | f } limit to directories or files
- -depth perform depth first search
- -case make pattern matching case sensitive
- -exec command files for which cmd returns true
- -cmd command generate command list for (any) shell
- -hidden include "hidden" files
- -blocks n files n blocks in size
- -bigger n files n bytes or bigger
- -smaller n files n bytes or smaller
- -quiet don't print unreadable file errors
- -newer file files newer than given file
- -newer date [time] files newer than given date/time
- -older file files older than given file
- -older date [time] files older than given date/time
- -print print matching file names
- -ver print the version of find
-
- Options can be combined; for example, to find all files un-
- der the /usr tree larger than 10000 bytes but smaller than
- 50000 bytes and which contain the string "mytext":
-
- find /usr -type f -bigger 10000 -smaller 50000 \
- -exec "sys:bin/fgrep -ls mytext %s" -print
-
- Or, to find all files under the /usr or /misc trees newer
- than 20-Aug-90 and who's file comment contains the string
- "foo" and ends in a "Z":
-
- find /usr /misc -newer 20-aug-90 -comment '*foo*Z' -print
-
- I believe this find is one of the more complete ones avail-
- able for the Amiga. The find command is described in much
- more detail in the ExtCmds.doc manual. Please see the en-
- try there for more information.
-
-
- New option flag added
-
- A new "H" option has been added which prints lines executed
- with any of the "history -e" style mechanisms (which in-
- clude "!" and "!!"). If there are commands in the history
- list which produce no visible action, the "H" option makes
- it easy to see what has been executed.
-
-
-
-
-
-
-
-
-
-
- SKsh Amiga Shell Page 5 Addendum to 1.6
-
-
-
-
-
-
-
-
-
- [class] bug fixed
-
- A problem with using [] style classes at the beginning of a
- wildcard pattern has been fixed. For example, "[a-h]*"
- would previously not work as a wildcard pattern, but "*[a-
- h]" would. They both work correctly now. Note that you
- must surround the '[' character by spaces if you wish to
- use it as a separate token in a test expression.
-
-
- -f option added to rm command
-
- The rm command now accepts an "f" (force) flag. If given,
- rm will effectively do a "chmod +wd" on each file or direc-
- tory before deletion. This stops "rm" from issuing an er-
- ror if some files did not have delete permission.
-
-
- Minimum stack size downgraded to 6K
-
- The minimum acceptable stack size is now 6K instead of the
- previous 10K.
-
-
- rm and rmdir now accept trailing "/"
-
- The rm and rmdir commands now accept a trailing slash for
- directory names. This is useful, as file completion puts
- one there automatically.
-
-
- New variables added
-
- There previously existed variables named "_DIR_S",
- "_DIR_E", etc, which controlled the display of files and
- directories by the ls command with the -F option. Since
- these variables could be set to either printing sequences
- (such as a "/" at the end of directory names), or non
- printing sequences (such as $_ANSI_P2), there was previ-
- ously no way for "ls" to determine the actual printing
- length of the filename and special characters. Occasionaly
- odd effects would show up if these variables were set to
- printing sequences. (For example, blank lines would often
- be printed). Three new variables have been added to handle
- this problem. "_DIR_L" stores the displayed length of the
- _DIR_S and _DIR_E variables; _EXEC_L and _FILE_L act simi-
- larly for executables and files. The concept is similar to
- the PNPC variable.
-
-
-
-
-
-
-
-
- SKsh Amiga Shell Page 6 Addendum to 1.6
-
-
-
-
-
-
-
-
-
- srun reports errors and unlocks files
-
- The srun command previously did not report an error message
- if it could not execute the given file, or could not open
- the input or output files. It will now correctly report
- these error conditions. It will also unlock any files it
- has opened if an error is encountered; this will enable
- those files to be deleted later.
-
-
- mplist command added
-
- An mplist command has been added which allows a limited
- form of filename mapping. A number of users had asked for
- the ability to, for example, map "/dh1/myfile" to "dh1:my-
- file". This command allows such mappings to be performed,
- but in a limited manner. It is only a stopgap measure un-
- til AmigaDos supports symbolic links. Please see the
- Reference.doc entry for details.
-
-
- info command output extended
-
- The info command now reports the disk state (read/write,
- read only, etc) in the report for each device.
-
-
- mv command resets archive bits
-
- The mv command now resets archive bits on files which have
- been moved.
-
-
- A word about .skshinit vs .skshrc
-
- A few people have been confused about the difference between
- these two files. The difference is that .skshinit is for my
- use, and .skshrc is for yours. All user modifications should
- go in .skshrc. That way, when I supply a new .skshinit file
- with each release, it won't overwrite your customizations, and
- you won't have to manually merge the two. The .skshrc file I
- have shipped since the first release is trivial and is in-
- tended as an example to be appended to. You do not need to
- re-install it after each release; you can simply use your old
- version.
-
- The .skshrc file sourced after the .skshinit file when SKsh is
- started. That way, you can override or re-define things which
- are set up by .skshinit. The new .skshinit file I supply (or
- the .pp form) should be re-installed after each release.
-
-
-
-
-
-
- SKsh Amiga Shell Page 7 Addendum to 1.6
-
-
-
-
-
-
-
-
-
- Misc. Notes
-
- Don't forget that you will have to regenerate any .pp files
- which you produced with SKsh 1.5. This includes .pp versions
- of your .skshrc file. Old versions will not run and will gen-
- erate an error message from SKsh. The Check_1.6.sksh script
- should be used to check the installation of this version of
- SKsh.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- SKsh Amiga Shell Page 8 Addendum to 1.6
-
-
-
-