BBS Reference Manual

Version 951112

Dieter Deyke, DK5SG/N0PRA
deyke@fc.hp.com


Table of Contents

  1. Start
  2. Command Input
  3. Interrupting the Output
  4. Commands
    1. ALIAS
    2. DELETE
    3. DIR
    4. DISCONNECT
    5. GROUP
    6. HELP
    7. HEADERS
    8. INFO
    9. LIST
    10. MARK
    11. MAXAGE
    12. MYBBS
    13. PIPE
    14. PROMPT
    15. QUIT
    16. READ
    17. RELOAD
    18. REPLY
    19. SEND
    20. SHELL
    21. SUBSCRIBE
    22. UNMARK
    23. UNSUBSCRIBE
    24. VERSION
    25. WRITE
  5. Patterns
  6. Ranges
  7. S&F data flow

1. Start

To start the BBS you must type 'bbs' after you have connected to the system. If your home directory contains the file '.bbsrc' it's contents will be executed automatically. This allows the customization of the PROMPT text, or the automatic execution of (for example) ALIAS, SUBSCRIBE, or DIR commands.

2. Command Input

A command consists of a command name and optional arguments. Commands are not case sensitive, and may be abbreviated. If the command arguments contain spaces, they must be enclosed in either single or double quotes. The maximum length of a command line is 2000 characters, and the maximum number of arguments is 250.

You can type more than one command on one line by separating the commands with a ; (semicolon) character.


3. Interrupting the Output

The output may be stopped by typing the 'interrupt' character. Normally this character is defined to be DEL (ASCII character 127), however this may be changed using the Unix command "stty intr" before starting the BBS.

4. Commands

4.1 ALIAS [name [text]]

The ALIAS command shows or sets command aliases. After a command line is scanned, it is parsed into distinct commands and the first word of each command, left-to-right, is checked to see if it has an alias. If it does, it is replaced by the text which is the alias for that command. To detect looping, the number of alias substitutions on a single line is restricted to 20.

To unset an alias make text the empty string (eg "").

The following aliases are compiled into the BBS but can be unset or redefined:

BYE"QUIT"
CHECK"DIR"
ERASE"DELETE"
EXIT"QUIT"
KILL"DELETE"
MAIL"SHELL mailx"
MORE"PIPE more"
NEWNEWS"RELOAD; DIR"
PRINT"READ"
RESPOND"REPLY"
SB"SEND"
SKIPGROUP"MARK *; LIST"
SP"SEND"
STATUS"VERSION"
TYPE"READ"
>"WRITE"
?"HELP"
!"SHELL"
|"PIPE"

4.2 DELETE range ...

The DELETE command deletes the specified articles from the current group. Only articles written by the user may be deleted. The DELETE request will also be automatically forwarded to other BBS systems. See also Ranges.

4.3 DIR [pattern ...]

The DIR command with no arguments shows all subscribed-to groups containing one or more unread articles. If DIR is followed by one or more patterns it shows all groups matching those patterns, counting all articles (read or unread). See also Patterns and the SUBSCRIBE and UNSUBSCRIBE commands.

4.4 DISCONNECT

The DISCONNECT command ends the current BBS session, and then tries to terminate the connection. If the BBS was started using a Unix shell with job control (eg /bin/csh or /bin/ksh), DISCONNECT will not be able to terminate the connection. In this case the user has to enter 'exit' to the shell in order to disconnect.

4.5 GROUP [group]

The GROUP command shows or sets the current group.

4.6 HELP [command|ALL]

The HELP command with no arguments prints a short list of all possible BBS commands, HELP followed by command prints help specific to that command, HELP ALL prints the complete BBS manual.

4.7 HEADERS [flags]

The HEADERS command shows or sets the flags controlling the output of article header lines by the READ, WRITE, and PIPE commands. flags contains one character for each header line to be output:

BBulletin-ID:
DDate:
EExpires:
FFrom:
LLifetime:
MMsg#:
PPath:
RR:
SSubject:
TTo:

The default for flags is "DFS".

4.8 INFO

The INFO command prints the contents of the file "/usr/local/lib/station.data", which may contain station information.

4.9 LIST [pattern ...]

The LIST command with no arguments lists all unread articles in the current group. If the current group does not contain any unread articles, LIST will enter the next subscribed-to group containing unread articles, make that the current group, and list all unread articles in this new group. The LIST command followed by one or more patterns shows all articles (read or unread) matching those patterns. The patterns are matched against the Subject and From fields. See also Patterns.

4.10 MARK [range ...]

The MARK command marks the current or the specified articles in the current group as being read. See also Ranges.

4.11 MAXAGE [maxage]

The MAXAGE command shows or sets the maximum age of unread articles. Whenever a group is listed with the LIST command, all articles older than maxage days are automatically marked as being read. To disable this feature set maxage to some large number (eg 99999). The default for maxage is 7 (days).

4.12 MYBBS mailbox

The MYBBS command stores mailbox as the users home mailbox. All incoming messages to this user will be forwarded to this home mailbox. This MYBBS information will be automatically transferred to other BBS systems.

4.13 PIPE unix-command [range ...]

The PIPE command with no range arguments pipes the next unread article in the current group to unix-command. If the current group does not contain any unread articles, PIPE will enter the next subscribed-to group containing unread articles, make that the current group, and pipe the first unread article in this new group. The PIPE command followed by one or more ranges pipes the specified articles in the current group. See also Ranges.

4.14 PROMPT [prompt-string]

The PROMPT command shows or sets the text that the BBS transmits to indicate that it is ready for more user input. If prompt-string contains space characters, it must be enclosed in either single or double quotes. The following special character sequences are recognized:

\ccurrent article number
\dcurrent date
\hBBS hostname
\nnewline character
\tcurrent time
\uuser name
\wcurrent group
\xxxcharacter with octal code xxx
\\backslash character

The default prompt-string is "\w:\c > ".

4.15 QUIT

The QUIT command exits the BBS program.

4.16 READ [range ...]

The READ command with no range arguments reads the next unread article in the current group. If the current group does not contain any unread articles, READ will enter the next subscribed-to group containing unread articles, make that the current group, and read the first unread article in this new group. The READ command followed by one or more ranges reads the specified articles in the current group. See also Ranges.

4.17 RELOAD

The RELOAD command checks for new groups and articles.

4.18 REPLY [ALL] [article-number]

The REPLY command sends a response to the current or the specified article in the current group. If ALL is used, the response will be delivered to all recipients of the original message, otherwise it will be sent to the author only.

4.19 SEND recipient|group [@ mailbox|distribution] [< sender] [$bulletin-id] [# lifetime]

The SEND command sends a personal mail to recipient@mailbox, or posts an article to group with distribution distribution. Mail messages and articles are forwarded to other BBS systems if necessary. Terminate message entry with a line containing just ^Z (control Z), /EX, or ***END.

4.20 SHELL [unix-command]

The SHELL command starts a Unix shell process. If a Unix command is specified with the shell command, only this command will be executed, and the BBS will be re-started when the command has completed. If the Unix command contain spaces, it must be enclosed in either single or double quotes.

4.21 SUBSCRIBE [pattern ...]

The SUBSCRIBE command with no arguments subscribes to the current group. If SUBSCRIBE is followed by one or more patterns it subscribes to all groups matching those patterns. See also Patterns.

4.22 UNMARK [range ...]

The UNMARK command marks the current or the specified articles in the current group as NOT being read. See also Ranges.

4.23 UNSUBSCRIBE [pattern ...]

The UNSUBSCRIBE command with no arguments unsubscribes from the current group. If UNSUBSCRIBE is followed by one or more patterns it unsubscribes from all groups matching those patterns. See also Patterns.

4.24 VERSION

The VERSION command shows the current BBS version number, and some status information.

4.25 WRITE filename [range ...]

The WRITE command with no range arguments writes (appends) the next unread article in the current group to filename. If the current group does not contain any unread articles, WRITE will enter the next subscribed-to group containing unread articles, make that the current group, and write the first unread article in this new group. The WRITE command followed by one or more ranges writes the specified articles in the current group. See also Ranges.

5. Patterns

Some BBS commands take patterns as arguments. The syntax of patterns is:

*Matches any string, including the null string.
?Matches any single character.
[...]Matches any one of the enclosed characters.
 A pair of characters separated by - matches any
 character lexically between the pair, inclusive.
 The NOT operator ! can be specified immediately
 following the left bracket to match any single
 character not enclosed in the brackets.
\Removes any special meaning of the following character.
 Any other character matches itself.

All pattern matches are case insensitive.


6. Ranges

Some BBS commands take ranges as arguments. The syntax of ranges is:

*All articles.
-All articles.
numberThe article numbered number.
number-All articles from number to the highest possible number.
-numberAll articles from the lowest possible number to number.
number-numberAll articles from the number to number.


7. S&F data flow

[picture]