0707070000020007011006640001460001440000010033350357377262200000500000000004Size140 0707070000020023131006640001460001440000010170350357377261000000500000000046NameVSH for the UNIX PC - from THE STORE! 0707070000020003211007750001460001440000010033360356651063300000700000000307Removeecho "Removing VSH for the UNIX PC ..." rm -f /usr/lbin/vsh echo "Removing VSH libraries: /usr/lbin/vsh_lib" rm -fr /usr/lbin/vsh_lib message -i "VSH has been removed.\n\nTouch to continue." 0707070000020001631007740001460001440000010033410356651063400001000000002233Installcat < to continue END read dummy BINDIR=/usr/lbin MANDIR=/usr/man LIBDIR=${BINDIR}/vsh_lib for directory in ${MANDIR} ${BINDIR} ${LIBDIR} do if [ ! -d ${directory} ] then echo "Creating directory ${directory}" mkdir ${directory} fi done if [ ! -s ${BINDIR}/man ] then echo "Installing primitive man(1) command in ${BINDIR}" ln man ${BINDIR}/man chmod +x ${BINDIR}/man chown bin ${BINDIR}/man chgrp bin ${BINDIR}/man fi ln vsh ${BINDIR}/vsh ln 1.vsh ${MANDIR}/1.vsh ln vsh.1 ${HOME}/Filecabinet/vsh.1 ln genhelp ${LIBDIR}/genhelp ln rmhelp ${LIBDIR}/rmhelp ln showhelp ${LIBDIR}/showhelp chmod +x ${BINDIR}/vsh chown bin ${BINDIR}/vsh chgrp bin ${BINDIR}/vsh for file in genhelp rmhelp showhelp do chown bin ${LIBDIR}/${file} chgrp bin ${LIBDIR}/${file} done message -i "VSH installation is now complete.\nA manual page is available with the man(1) command.\n\nTouch to continue." 07070700000200024110066400014600014400000100336503566510637000006000000515401.vsh VVVVSSSSHHHH((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 VVVVSSSSHHHH((((1111)))) NNNNAAAAMMMMEEEE vsh - visual shell SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS vvvvsssshhhh [ -al ] [ directory ] DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN _V_s_h is a highly interactive, visually oriented shell which eases many programming activities. Most commands involve only a single keypress. These commands cause directories to be displayed, editors to be entered, and compilers to be invoked. On entry to _v_s_h, the _d_i_r_e_c_t_o_r_y, which defaults to the current directory, is displayed on the screen. Members whose name begins with a period (.) are not displayed unless the ----aaaa option is given. Normally, directories are shown in brackets ([]) and executable files are marked by an asterisk (*). If a long listing is requested with the ----llll option, the directory/file modes are displayed instead, along with the owner, size in bytes, and time of last modification. Each member of the directory is labeled with a letter. To select a member, press its corresponding letter. What happens after selection depends on the nature of the member. If the member is a directory, _v_s_h changes to that directory, whereas text files are edited. Full details are given later. _V_s_h displays up to twenty files at a time. Directories which are larger are broken into twenty-file pages. To select a page, one presses a digit 0000----9999. Pages are numbered one through ten with 0000 selecting page ten. A well integrated feature of _v_s_h is its connection between compilers and editors. To start a compile, one presses MMMM. _V_s_h then calls on _m_a_k_e(1). The output of this compile step is saved, and one can later review for compile-time errors. _V_s_h labels each error with a letter. One can select an error by typing in its letter. After selection, _v_s_h calls an editor, sending one to the proper file at the offending line. One can jump between the editor and _v_s_h until one is ready for another compile. _V_s_h also provides an on-line symbol cross-reference of the files in the directory by using _g_r_e_p(1) to find the symbol in the files and using the same editor interface described above to examine the context surrounding each symbol. FFFFIIIILLLLEEEE NNNNAAAAMMMMEEEESSSS When you are prompted for a file or directory name, you cannot use the shell file name generation meta-characters Page 1 (printed 11/14/85) VVVVSSSSHHHH((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 VVVVSSSSHHHH((((1111)))) (*?[]), nor can you use environment variables such as $$$$HHHHOOOOMMMMEEEE.... You can however use tilde (~) by itself to represent your home directory (e.g. ~/_f_i_l_e_n_a_m_e), or tilde followed by a user name to represent their home directory (e.g. ~_u_s_e_r/_f_i_l_e_n_a_m_e). FFFFIIIILLLLEEEE SSSSEEEELLLLEEEECCCCTTTTIIIIOOOONNNN As indicated before, one selects a file by pressing its corresponding letter. What happens after selection depends on the nature of the file. FFFFiiiilllleeee ttttyyyyppppeeee AAAAccccttttiiiioooonnnn DDDDiiiirrrreeeeccccttttoooorrrryyyy Change to new directory. AAAArrrrcccchhhhiiiivvvveeee Print archive directory. This works for both _a_r(1) and _c_p_i_o(1) format archives. OOOObbbbjjjjeeeecccctttt Print the symbol name list with _n_m(1). CCCCoooorrrreeee Call debugger. TTTTeeeexxxxtttt Call editor. OOOOtttthhhheeeerrrr Selection fails. DDDDIIIIRRRREEEECCCCTTTTOOOORRRRYYYY OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNNSSSS This is a list of the directory commands. Before doing anything else, you should become familiar with commands which allow you to select files and display directories. In directories larger then twenty files, you should be able to display each page. CCCCoooommmmmmmmaaaannnndddd AAAAccccttttiiiioooonnnn ^^^^DDDD Leave _v_s_h. aaaa----tttt Select associated file or directory. 1111----9999 Select page 1-9. 0000 Select page 10. ssssppppaaaacccceeee bbbbaaaarrrr Select next page. ++++ Select next page. ---- Select previous page. :::: Change to parent directory. ~~~~ Change to HOME directory. //// Change to root directory. !!!! Escape to shell specified in the SHELL environment variable. ???? Display help file. AAAA Show All directory members, including those whose names begin with a period (.). If this is already in effect, this command will revert to not displaying such files. CCCC Create a new file. _V_s_h prompts for a file name and file type. One may create text files and directories. One may also copy, link, or move existing files. FFFF Select file or directory by name. _V_s_h prompts for Page 2 (printed 11/14/85) VVVVSSSSHHHH((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 VVVVSSSSHHHH((((1111)))) a name and then selects the specified file or directory. LLLL Long format file listing. Next to each file, _v_s_h displays protection information in the same manner as _l_s(1). OOOO Option listing. The contents of command and parameter tables are displayed. _V_s_h then prompts for commands which modify parameters and which create, modify, and delete commands. PPPP Display Process status with _p_s. TTTT Display file Types in a similar manner to _f_i_l_e(1). WWWW Display Who is logged in. RRRREEEEMMMMOOOOVVVVEEEE MMMMOOOODDDDEEEE Press RRRR to enter _R_e_m_o_v_e _m_o_d_e. In _R_e_m_o_v_e _m_o_d_e, selecting a file causes it to be marked for removal with two slashes (//). Files selected a second time are unmarked. Pressing RRRR a second time causes all marked files to be removed. The following commands are available in _R_e_m_o_v_e _m_o_d_e: CCCCoooommmmmmmmaaaannnndddd AAAAccccttttiiiioooonnnn ^^^^DDDD Exit _R_e_m_o_v_e _m_o_d_e with out removing marked files. aaaa----tttt Select corresponding file for removal. Selecting a file a second time "undeletes" the file. **** Select all files on current page for removal. RRRR Remove marked files and exit _R_e_m_o_v_e _m_o_d_e. If _v_s_h cannot remove a file, _v_s_h displays the reason and waits for a response. Press the RETURN key to continue removing marked files. Press ^^^^DDDD to immediately exit from _R_e_m_o_v_e _m_o_d_e. ???? Display help file. In addition to these commands, all of the directory page selection commands are available. MMMMAAAAKKKKEEEE,,,, GGGGRRRREEEEPPPP,,,, AAAANNNNDDDD SSSSHHHHOOOOWWWWFFFFIIIILLLLEEEE _V_s_h interfaces to _m_a_k_e(1) and _g_r_e_p(1). _V_s_h saves output from these programs and allows one to examine the results in _S_h_o_w_f_i_l_e _m_o_d_e. From the directory page, the following commands control _m_a_k_e, _g_r_e_p, and _S_h_o_w_f_i_l_e. CCCCoooommmmmmmmaaaannnndddd AAAAccccttttiiiioooonnnn GGGG _G_r_e_p(1). _V_s_h prompts for a pattern and file names, and then run _g_r_e_p with these parameters. The file names default to *.[chly]. The results are saved in the file _g_r_e_p._o_u_t and displayed in _S_h_o_w_f_i_l_e _m_o_d_e. SSSS Show previous _g_r_e_p. The output of the last _g_r_e_p is displayed in _S_h_o_w_f_i_l_e _m_o_d_e. MMMM Run _m_a_k_e(1) in the foreground using the _m_a_k_e_f_i_l_e Page 3 (printed 11/14/85) VVVVSSSSHHHH((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 VVVVSSSSHHHH((((1111)))) in the current directory. Output is both displayed on the screen and saved in the file _m_a_k_e._o_u_t. When _m_a_k_e terminates, _v_s_h displays _m_a_k_e._o_u_t in _S_h_o_w_f_i_l_e _m_o_d_e. NNNN Run _m_a_k_e(1) in the background. Output is saved in _m_a_k_e._o_u_t, but is not displayed on the screen. When _m_a_k_e terminates, the bell on your terminal rings twice. Use the EEEE command to review the output in _m_a_k_e._o_u_t. EEEE Review errors. The results of the last _m_a_k_e are displayed in _S_h_o_w_f_i_l_e _m_o_d_e. SSSSHHHHOOOOWWWWFFFFIIIILLLLEEEE MMMMOOOODDDDEEEE _S_h_o_w_f_i_l_e displays the results of a _m_a_k_e or _g_r_e_p. It is called by the EEEE and SSSS commands. _S_h_o_w_f_i_l_e is called automatically in the course of an MMMM or GGGG command. _S_h_o_w_f_i_l_e is essentially a special editor. It has commands which allow one to display a file. One can also command _S_h_o_w_f_i_l_e to examine a line of the file. _S_h_o_w_f_i_l_e scans this line and attempt to extract a file name and line number. _S_h_o_w_f_i_l_e then runs the editor, starting it at the specified line. CCCCoooommmmmmmmaaaannnndddd AAAAccccttttiiiioooonnnn ^^^^DDDD Leave _S_h_o_w_f_i_l_e. aaaa----tttt Examine line for a file name and line number. If a file name is found, run the editor on this file. ssssppppaaaacccceeee bbbbaaaarrrr Select next page. ++++ Select next page. ---- Select previous page. ???? Display help file. All commands from the directory page which might be useful are available in _S_h_o_w_f_i_l_e mode with the exception of LLLL and RRRR. Particularly useful are MMMM and GGGG which allow new iterations of _m_a_k_e and _g_r_e_p, the escape to the shell (!), and FFFF, which allows one to edit files not found in the file being shown. CCCCOOOONNNNTTTTRRRROOOOLLLL CCCCOOOOMMMMMMMMAAAANNNNDDDDSSSS The operation of _v_s_h is controled by its parameter and command tables. The contents of these tables can be displayed via the OOOO command. These tables can be modified with control commands. When _v_s_h is invoked, it searches for the file ._v_s_h_r_c in your home directory. Control comands are then read from this file, allowing one to create a personalized environment. The OOOO command also prompts for control commands, allowing for interactive modification of the tables. These control commands should be presented in the same lexical grammer as shell commands. Spaces and tabs separate Page 4 (printed 11/14/85) VVVVSSSSHHHH((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 VVVVSSSSHHHH((((1111)))) tokens. Unquoted newlines terminate each statement. A character may be quoted by preceding it with a backslash (\). All characters inside single quotes (' ') are quoted except the single quote. Inside double quotes (" "), \\\\ quotes another double quote and \\\\nnnneeeewwwwlllliiiinnnneeee is ignored. Grave accents (` `) are treated as any other character. Macros (such as $HOME) are not available. To change a parameter, use the format: Parameter Value PPPPaaaarrrraaaammmmeeeetttteeeerrrr can be any of the following: PPPPaaaarrrraaaammmmeeeetttteeeerrrr DDDDeeeeffffaaaauuuulllltttt UUUUssssaaaaggggeeee eeeeddddiiiittttoooorrrr vvvviiii Preferred editor. ddddeeeebbbbuuuuggggggggeeeerrrr ssssddddbbbb Preferred debugger. mmmmaaaakkkkeeee mmmmaaaakkkkeeee Make program. You may want to change this to _b_u_i_l_d, for example. ggggrrrreeeeppppoooouuuutttt ggggrrrreeeepppp....oooouuuutttt File used to save the output of _g_r_e_p. mmmmaaaakkkkeeeeoooouuuutttt mmmmaaaakkkkeeee....oooouuuutttt File used to save the output of _g_r_e_p. To define a command, use the format: Character Keyword [Parameters] CCCChhhhaaaarrrraaaacccctttteeeerrrr is the character which calls the new command. Valid characters are !!!! """" #### $$$$ %%%% &&&& '''' (((( )))) :::: **** ==== ^^^^ ~~~~ [[[[ ]]]] {{{{ }}}} <<<< >>>> ,,,, .... //// ???? and AAAA----ZZZZ. These are the valid keywords: ddddaaaatttteeee Display date. sssshhhhoooowwwwaaaallllllll Show all directory members, including those whose names begin with a period (.). sssshhhhoooowwwweeeerrrrrrrroooorrrr Show errors from previous _m_a_k_e. sssshhhhoooowwwwggggrrrreeeepppp Show output from previous _g_r_e_p. ddddiiiissssppppllllaaaayyyy Select a file or directory. If parameter is present, it is displayed. Otherwise, _v_s_h will prompt for a path name. hhhhoooommmmeeee Change to home directory. ggggrrrreeeepppp Run _g_r_e_p. _V_s_h will prompt for parameters. wwwwaaaaiiiittttmmmmaaaakkkkeeee Run _m_a_k_e. Wait for termination. nnnnoooowwwwaaaaiiiittttmmmmaaaakkkkeeee Run _m_a_k_e. Do not wait for termination. rrrreeeemmmmoooovvvveeee Enter _R_e_m_o_v_e _m_o_d_e. lllloooonnnngggglllliiiisssstttt Print long format listing of files on the current page. ttttyyyyppppeeee Display file types. ooooppppttttiiiioooonnnnssss Display _v_s_h options (parameter and command tables). Accept commands which modify parameters and which create, modify, and delete Page 5 (printed 11/14/85) VVVVSSSSHHHH((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 VVVVSSSSHHHH((((1111)))) commands. eeeexxxxeeeecccc Execute a program directly with the _e_x_e_c_l_p system call. The first parameter must be the program name. Any other parameters become parameters to the program. If it is necessary to redirect files, to expand macros, or to expand file regular expressions, use the sssshhhheeeellllllll keyword instead. sssshhhheeeellllllll If no parameter is present, an interactive shell is spawned. If one parameter is present, it is passed to the shell and run as a command. Do not specify more than one parameter. Instead, enclose the entire shell command in quotes to provide _v_s_h with only one parameter. ccccrrrreeeeaaaatttteeee Create a file. nnnnuuuullllllll Do nothing. EEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT VVVVAAAARRRRIIIIAAAABBBBLLLLEEEESSSS CCCCDDDDPPPPAAAATTTTHHHH Search path for directory names. See the _c_d command of _s_h(1). EEEEDDDDIIIITTTTOOOORRRR Your preferred editor, which defaults to _v_i(1). HHHHOOOOMMMMEEEE Your home directory, which is automatically set when you login. SSSSHHHHEEEELLLLLLLL Your preferred shell, which defaults to _s_h(1). TTTTEEEERRRRMMMM The terminal type, which must be a screen terminal. TTTTEEEERRRRMMMMCCCCAAAAPPPP Terminal capability data base (termcap) full path name. If your terminal is not in the system termcap file /_e_t_c/_t_e_r_m_c_a_p, you can set this variable to your own termcap file. To set a variable such as EEEEDDDDIIIITTTTOOOORRRR to a value such as _e_m_a_c_s, put this in your ._p_r_o_f_i_l_e: export EDITOR EDITOR=emacs FFFFIIIILLLLEEEESSSS $HOME/.vshrc Initialization file (see CONTROL COMMANDS). grep.out File used to save the output of _g_r_e_p. _V_s_h tries to first create this file in the working directory. If unsuccessful, the home directory is tried. make.out File used to save the output of _m_a_k_e. _V_s_h puts this file in the working directory. PPPPRRRROOOOVVVVIIIIDDDDEEEERRRR Joe Steffen Page 6 (printed 11/14/85) 0707070000020002221006640001460001440000010056770356651063700000600000000171Files./Size ./Name ./Remove ./Install ./1.vsh ./Files ./MAKEcpio ./MAKEflop ./genhelp ./man ./rmhelp ./showhelp ./vsh ./vsh.1 0707070000020031131007740001460001440000010057000356651063700001100000000040MAKEcpiocat Files | cpio -ocBv > VSH+IN 0707070000020003261007740001460001440000010057010356651063700001100000000061MAKEflopcat Files | cpio -ocBv > /dev/rfp021 dismount -f 0707070000020003561006440001460001440000010057020356651063700001000000001230genhelp Directory Command Summary Command Action ^D Leave Vsh. a-t Select associated file or directory. 1-9 Select page 1-9. 0 Select page 10. space bar Select next page. - Select previous page. : Change to parent directory. ~ Change to HOME directory. / Change to root directory. ! Escape to shell. ? Display help file. Command Action A Show All files, including .files C Create file or directory D Date E Show Errors from previous make F Find and display file or directory G Grep L Long listing of files M Make N Make forked off O Options P Ps (Print processes) R Remove files S Show output of Grep T Display file Types W Who 0707070000020003601007750001460001440000010057030356651063700000400000000616manif [ $# -eq 1 ] then if [ -s /usr/man/1.$1 ] then cat /usr/man/1.$1 exit 0 else echo "$0: cannot find /usr/man/1.$1" >&2 exit 1 fi fi echo "Usage: $0 command_name Only one command name may be specified. This is not a full implementation of the man command as this machine does not have many manual pages. For a list of manual pages available, list the /usr/man directory" >&2 exit 2 0707070000020004751006440001460001440000010057040356651064000000700000000650rmhelpTo select a file for removal, press its corresponding letter (a-t). Selecting a file a second time "undeletes" the file. One can select all files on a page by pressing asterisk (*). A file selected for removal is marked with "//". One can move through the various pages with the usual commands (0123456789+- ). To exit without removing any files, type ^D. To exit and cause permanent removal of selected files, type R. 0707070000020006161006440001460001440000010057050356651064000001100000002044showhelp Showfile Command Summary Command Description ^D or ^Z Leave Showfile. a-z Examine line for a file name and line number. If a file name is found, run the editor on this file. + or (space) Select next page. - Select previous page. ? Display help file. In addition to the previous commands, most of the commands from the directory page are available in showfile with the exception of L and R. Particularly useful are M and G, which allow new iterations of Make and Grep; !, which escapes to the shell; and F, which allows one to edit any file. To return to showfile display from Vsh, use E to review the last .makerror file and S to show the last .grepout file. Vsh always searches for .makerror in the current directory. Vsh searches for .grepout first in the current directory, then in your home directory. When a line is selected, Vsh tries to extract a file name and line number from it. Because the output from grep is of constant format, a selection will never fail with grep. Vsh tries its best with the output of compilers and lint. 0707070000020010211007750001460001440000010057070356651064300000400000060064vshRڂ; I4v .textI .data 4P@.bss 4 4v.lib  /< N1X OQ./HJf/H#0N nHH./< /<0N1P. /<0N1Xp.N1xR`*p# ND. /< N1XN. N PJfN-|.g p.Np. 9 2S/ND:XN?-@S0m y0R0r `.0p /N1Xp./.N DX-@`NV.N1 @-H.g.N1 rxl.N1 Jf n N^Nu n`NVHNINCp.N1xLN^NuNV. :/.N1tXJgpN^Nup09 >-@ @fp` fp ` gp`p./.N1X-@Jlp`p.Hn/.N1,P-@.N1B e =n-n ngJ ng@ n g8 ng0 nxg( n}g nhg nig npg nqfp` egp./< :HnN1PJfp` nqfp`p./< ?HnN1PJfp `.NL @-H. F/N1XJfp` .f n sf n (.fp `pp `jNVH $n&JJfS #/gdR K L N^NuNVHt` 9 ZS. N1Ђ"y .NS b@0; NJ $:0DNXblvX-| K`l-| U``-| i`T-| n`J-| }`@-| `6-| `,-| `"-| `-| `-| `BJgp. V/ND:X.N1R ^mpLN^NuNV(p-@,. HnN1X. HnN1X. HnN1RX @-H.gX. N1`>HnHn4Hn0Hn,/.N-HJgHn4/.0 .,S/N n( gN^NuNVH<J o  f./< `DL<N^Nu n.N1 rf< n PHH.N . @$HJf./< N/,X` n.N @&H SJf ./< ` . U2+Hg2 kf  o kf  l./< `%kk  n %| ` . S.N@4 @%Ht l "n.N1 R.N@4 @*H U"j# "n. U"j/1N1X S"jBR`(| v`PJg n./N1XJfJg2 n.N1 R.N@4 @)H n./,N1`./< N/,X  g4./< %`jNVH $.v`h  f.N-@ g$.`4.N @$HJgJ* f  f. jN$`$< Jf g. 4N'&gN? L N^NuNVH $n&| ` SJg./ N1XJf K L N^NuNVH. $| ` Jgf J LN^NuNV. HH.N @ h N^NuNVH $.&<.N($pg pgpf Nv`pamNpznHpa ^l6 9 ZS. N1Ђ"y .N2Jf.Nv`p0op9n r0`p0f p # Z`Zp+g p gp;f 9 Z bmp` 9 ZR`p-fS Z  Zl# b Z`&< L N^NuNVHnN1Xp.N&HnN1X @./< TN1XpN^NuNV nJg.NVN?`p./9 /9 N&P <N^NuNVJ 6f p# 6`B 6. NN^NuNV. NN^NuNV. /.N1XJfp`. /.N1XJfp-@` n /fp`BJf . N1 rdo. N'&`.N1*Jg.N'pN^Nu gv f . NJ9 fX. N1*`J f./< N1`,J9 g. /< N1X./< N1XJ g . N1F. /< N1RX @# p# # Z <`6NVHNB bJ fp# LN^Nup# . N1`JPg  6g n (.g 9 f \ffd \. N1H 9 \./9 N@vX @# . \N@4 @# J g.fp# N`L nA.N@ @$H 9 fR f"y #. p/p//< 4N1d rf | 4`-Hf .|p//9 f/9 N1 .  9 fN1Jop`p$.  9 fN1Ђ# bB `NV`S f 9 f"y .N1HJ fnN^NuNV n . n/N1XN^NuNVNDp.N&Jg>-y . j y ( HH/N1X . fJ gN 9 Z bm 9 brl ` 9 Z bm 9 b# ZB ^ND 9 "| `./< /< N1PJ fg  boD. N1 r2opD.p`pD.p/ND:X. b/9 Z/< N1P.  9 fN1# ^ 9 Z bfJ ^f #  ^p.p/ND:XB . ^lha./< N1X 9 ZS. N1Ю"y -q  f(./< N1X.N`DNDN^NuHn/.N1tPJl ./< `.g&./<  N1X. N1R`6p0.rI€g ./< `./< `NVH$n`RJf "/ffRBLN^NuNVH<. :/.N1tXJg. rN1L$ gp`p"ЀЁ& gp`p"ЀЁ( gp`p"ЀЁ*09 @H.p"ЀЁ"| A/ r"ЀЁ"| A/ r"ЀЁ"| A/ r r"| b1HH//< N1. Fp09 B/NXJf. F/< `p09 B./< N1X g009 FH.09 FHr//< N1P`. H/< N1X. PN1 @./< N1X`zNVJ f p# `B  <N^NuNVp. .V/ND:X 9 ZS. N1Ю"y .NN^NuNVHJ jf . /< N1RX @# jg . ng. jN1p# nt&(`6R`2Jf R"n `pf Ѐ"Ё".0Ё(. jN1-@r g$ f pLN^Nu :f`f n B0(# np`NVNCp.NHN-@fHn /.NP` .N@-@NC|NH .N^NuNVH nJf. N'&pLN^NuNCp.NHN,$f. n/NX`.NN?NC|NH <`NVH nJf. N'&pLN^NuNCp.NHN$f. n/NX`.NZNC|NH <`NVNCp.NHHnN1XNd-@f:p.N1B.N1Np./< /9 NPNC|NHN^Nu. /.N1^X @-H.N1B./< N1X./< /.N1P.N1F.N`NVHnN1XN-@fNp.N1Bp.N1B.N1N.N1N.N1B.N1BHn /.N^PN^Nu. /.N1^X @-H.N1B.N+.N1F.N`NVHn /.NPN^NuNVH  n P +ghNDp.N1Jg p.N&$n `./< N1XXJfp.N1Jg | #` | &.N1ND` n R n &P` /f n RJf n P /f n PJ(g n Rt` .N1BRpo. /.N1rX.N'N?p.N1xL N^NuNVp-@`N1-@Jo$.p/N1nX.p/N1nXJf .p/N1nX.p/N1nX g .N^Nu. (N'.N1p.N&R oh. 4N'&Nvp`NVHnN1X-@ g .f.vp/N1nX.vp/N1nXN( .N^NuNV nJf . PN'&Hn n/NPJfpN^NuHnNX`NV.N bR@0; NJ (BNp60.N'`.N PN^Nup././< _/< [`p././< f/< cN `&p././< o/< l/< iN <`-| r`-| u././< yHnN1 HnNVXN?`p././9 /9 N&`h.N'&. `.N'&. N1p`.N'&. `.N'&. `NVH. N'&Hn/NPJf`HnN'X`p.HnN1 XJfHnN'&X. `THnNXHnNX-@Jgp.HnN1 XJf g$HnN'&X. N1pLN^NuA-H nRJfp n/NDNDHn/< N1P. N1NDN?S0m y0R0r `.0p /N1X af$p.Hn/9 /9 N& ` bf>p.Hn/< v/< pN& JgN?HnN PX@` cg dg ef.. |N1Hn /N PJgHn NXJg g f Hn N'X`. N1` cf$p.HnHn /< /< N& df,. N1HnHn N1PJg . N' ef$p.HnHn /< /< N&p.p/ND:Xp.HnN1 XJg"p.p/ND:X. N1N? <`NVxJf.px.HnN=xX-@|Jnp.N&`vA-H-| p./.N1 XJl..NA @-Hg-Hp/./N1,X @-HgB. /./.N"PJg. N'&pN^Nu <`NVpH n /f. `./.N1X. HnuN1X`jHn/< N1PJf .N`F.N1 $pdo pLN^Nupo. /.N1XHn/.N1PJ.ug(HnuHnN$PHn/< N1PJfn`p`NVH$n `RJg /f -@Jf. /.N1X`.p./. /.N1P l .`p"nB1Jg .R./. NXLN^Nu n B`NVH . "nE` nRJ*fLN^NuNVH. Hn(N1X. Hn(N1Xp.N&. N1Hn(N1 XC(EGpx.Hn/<0N?P-@IJg -f\`'\''` HH$g dp'f`B. Hn(N1X .. 9 2S/ND:X. N1Hn(N1 XC(EHn(N1 X"<Ȓ./ /<0N?P-@Jf. 1/ N1Xp./< ;N7X @-H.fp.N&pLN^Nu. =N1p.N1N-@p.N1B n( HH.N1N.N1FHn(NVXp.N1B.N1N.N1B <`NV. HN1 @-Hg0.HnN1X. NHnN1X.HnN1`.HnN1X. PHnN1RX @-H.fHnN'XpN^Nu.N+.N1F <`NV n.NRN^NuNV nJf . RN'&Hn n/NPJfpN^NuHnNX`NVp./< ^N7X @-H.f`p.N1Bp.N1B.N1N.N1Np.N1Bp./< `N1X.p/N1nX.p/N1nX.p/N1nXp./9 /9 NP`l n( HH-@NJf:N-@gD.NN'bp.N1N'bp.N1x`.N1F. N'&pN^NuNVHp./< jN7X @-H.f pLN^Nup.NHHnN1XN-@fDp.N1Bp.N1B.N1N.N1Np./9 /9 NP`.N1B. l/.N1^X @-H`* n"hR `. 2/N1X nSm n"hRp` .N1$pgDS0m y0R0"`.0 2/N1X nSm~`h.N1F.N1F.NN'bNH <`NVp. 9 2S/ND:X f B PN^NuJ PgB  PfNC`.NC. nN1NCp. 9 2S/ND:X# P`NVp ./.N1&X @ fp.N^./< qN1XN^Nup`NVS0m y0R0rN^Nu.0p/N1X`NVH$| t 9002l "|0$qp.N././< N1PLN^NuNV. ,/9 N1XJfp# . NN^NuNV. NN^NuNVH  f~p.NHND. 6N1t`< Ѐ"ЀЁ1HH. Ѐ"ЀЁ"n/1//< :N1 R Ѐ"ЀЁ"nJfNDNHLN^NuNVH $.pfLN?$  g f2v` N?`v SJnN??$pampzo$ L N^NuNVHBp.NHN4ND nJg&p.N1B./< FN1HX-|$| `nJg`&| ` SJg kf.HH//< NN1P(j`./< TN1XJfHnNXJg~ HH e-| v`*. n//< YN1PHnNZXJg6P nJf nJgNvJgNJgNDB`NHN4 <LN^NuNVS0m y0R0r `.0p /N1XJ 0gpN^Nu nR rl <`N-@ND nB .`NV(B,. _N1HnHn8Hn4Hn,/<0N-H-@0J4g.8/< N1XJf B0 .0N^NuJ0gHn8/.4/.,NB `NVH p-@tN4NDNDB .l`. y0R0"`.0 2/N1X nSm n"hRp` .N1$pgp gS0m`pgS0m0 y0R0r `.J 0fhpfv | `r.0p /N1XS0m y0R0r `.0p /N1X.0N1LR`NDN4L N^Nu | .N1.0N1LN?&pgpf`p f p -@. N1.0N1L` p-@NDpgJ 0gf`tNV-n-n nAL-H nAw-HB nB n p-@ . b@@0; NJ xJg* 0f f | R` | Y.N1.N1-@ fp`p-@ ."| 1f nJgz n ./< \`d ."| 1g n ` ."| J1fp n ./< lNX` nd ne n ./< NXpN^Nu nR` nRBpѮ n nR ."| -q`pѮ nHHg *fpѮ nHH-@`n nB <`zNV./. /< N1PN?N^NuNVHp./< N1 XJg. N'`t` y B0(R fmNpP. 9 2S/ND:XN?.N(& ra(./< N1&X @ g2t` y B0(R fmNp.N&pLN^NupLfNNJ`x./< N1&X @ g.N gRN`Jp*f=|x` 9 ZS. N1Є"y E 9 ZS. N1Є"y -q. /.N1XJg4. /.N1XJg nfJfp`p=@`R ^mhN`p?f. N"gzND`rpampzn ^l 9 ZS. N1Є"y -q. /.N1XJg. /.N1XJg 9 ZS. N1Є"y q.NP`pRfN <`.NVHNDt`.NR ^mNDLN^NuNVp. .V/ND:X 9 ZS. N1Ю"y 1HHg | .N1N^Nu | `NVp.NNbNN^NuNVp.N&ND. N1NDN^NuNVHp.N&t bnDv`b S. N1Ѓ( fgN y J0Hg4 Zg4# Z-y B p.N# Np.N&p. V/ND:X.  N1p. 9 2S/ND:X 9 ZS. N1Ѓ"y $q. :/ N1tXJfZp09 > @f"p./ /< /< N& Jf*p09 > @g&.N1Jg.N'N:Jg"LN^Nup. V/ND:XNCR mR`NVHpA. 9 2S/ND:X. N1N?$p.N&pf pLN^Nup`NV.4p/N1nX @# ,N^NuNV.4p/N1nXp# 0N^NuNV  ,g. ,p/N1nX# ,B 0N^NuNVp.NN^NuNVp.NN^NuNV./< JNTX @# .fpN^Nup# -|N4`n .raй ./.NX-@`L %fN%-@Jg`p./.N DX-@.f~.g . Nv.g.Np. 9 2S/ND:X. LN1-|J 0f(N?-@S0m y0R0r `.0p /N1X.N(-@ g f` am ."9 2Xm +g f( y ( f: 9 й 2r .N~` -f8 9 "9 2 np.` 9  2r .N<`.N b @-H5g5"f* .@-@. N1FN4 .@` ?f. ON"`@ ! fN! `NVh. j/.N1XJf-| lJ f y ` y -Hl./N1RX @-Hp.fPJ fJ. HntN1X. oHntN1X.lHntN1X.HntN1RX @-HpJpf .lN' np N^NuNVHp# . N1` p fR  9 l2 y Sm y "hRp` . N1$pf y ( g  n. N1p# LN^Nu 9 S.NR`NVH y ( gp.N0#   9 й 2r -@p.N&NDp.NHND. /< qN1Xp=.p/ND:X ."| 8./< ~N1X 9 lJ 0f y Sm y "hRp` . N1$pg 9  rn 9 a ./< N1Xv`p ft R o. N1vS0m y0R0"`.0 2/N1X y Sm y "hRp` . N1$p gpfrpg R `pf. `. N1p. 9 2S/ND:XNDNHL N^NuNVJ g. N.px.Hn/9 N?PJfHnNXJfF f*HnNHXJf.HnNXJf HnNXJf. N'&pN^Nu. N <`NV|H $n "gJfpL N^NuRG`Jg "fB.N @.HnN@X`NV|H $nG`Jg  :fJf pL N^NuB.N @.HnNX`NV|H $nHH"| 1@gJfpL N^NuRHH"| 1@g -gJgG`HH"| 1@gJfB. 4HnNrX`NVH $n&| T+HH"| 1g Jf | 4 L N^Nu \dHH"| 1gB | T`NV.Nr gpN^Nup././. /9 /9 N& <`NVH<N4p.NHN.$ | 0@(g$n J Gp~f (J` d(N$p/g | 0(f | 0@(fBJf. N1`.NG$ @*H fX.N1 ` (J` d(N$p/g | 0(f | 0@(fB.N1 @*H g.A/N1X.N1 S`.N1 ` N"$d, | 0(f | 0@(gp$f`ZN$ | 0(gBNHN4 | 0(f$n L<N^NuNVH $n JGN4p.NH.N1$c$K  | 0(gB"NHN4 | 0(f$n L N^NuNVN4p.NH. N1NNHN4N^NuNVHp.Hnp/N1,P$nt`.HHr$ LN^NuNV./.N1 XR/NX @/N1X @ N^NuNV.N1B @.NR @ N^NuNV. /.N1TX @.N. @ N^NuNV. /.N1NX @.N @ N^NuNVJf$. /< /<0N1Pp.N1x n N^NuNV.N1*JfpN^Nu.N @-Hg .N1*`p`NVH n /g. N1 @$H g./< HnN1P`. !HnN1XG$K`|R`vBJf./< \N1X`./ /< #/< \N1 Hn/< \N1tPJf.g | \ L N^NuR$KJf` :g`|NV. .N1 @# f$. /< 3/<0N1Pp.N1x. HnN1 XJl.. /9 /< u/<0N1 p.N1x# 8 . /< N1X @# $. /< N1X @# (. /< N1X @# ,. N1# . N1# 2. /< N1X @# 0. /< N1X @# 4J 2l. /9 /< `J ,f.. /9 /< /<0N1 p.N1xN^NuNV.Dp//9 4N1"P.0N1LN^NuNV.Dp//9 0N1"P.0N1LN^NuNVJ $g.Dp//9 $N1"`.  9 S//< N1PN^NuNV.Dp//9 (N1"PN^NuNVH $.&. .Dp/ S/ S//9 ,N1 @/N1"PL N^NuNVS0m y0R0. N^Nu.0p. /N1X`NV 9 *R *Jf .0N1L. /<0N1XN^NuNVS *f.0N1L./<0N1XN^NuNVzH $nB. /< N1RX @&H f`b.N1F`VHn/< N1tPJmHn+ HH/N1PJm nf6p-@0.İnf&0.°nf. / N1X.N1F`H. HnN1XA-H`X n~0ng f@ n~A./.N1XHnHnN1tPJm(0.nf 0.ng@.p/p//< N1d rf | `-H~g n~JPfn`.N1F. N1*JmHnNX @ f.N1* L N^NuHn/ N1PHnN1 XCA (/g. / N1X./ N1X.N1* J`NVH p./<  N1X-@rf L N^Nu./< /.N1,P$v` |  0 8gRm춂lR | B08p. //.N1P. N\ @$H. /.N1XJf.N1B.N0 @$H.N& @$H.N @$H.N @$H.N J`:NVH$n`RJg :fJgB J LN^NuNV. p/<Tp/N1P {  |  | p"| """"23   3 By N^NuNV 0lR 0.NLN^NuNVJ 0oS 0 |  0HH.NN^NuNVJ ,mp.NN^NuNV 9 0"|   . ,g># ,Jg f,.0N1L. `. p/<Tp/N1PN^Nuvsh: unknown option: -%c Usage: vsh [ -al ] [ directory ] vsh: cannot change to directory %s vsh: cannot get current directory name EDITORviHOMESHELLshVsh version %s 3.10.@@@   070707coredirectoryspecial device filefileprotected fileobject filearchive filecpio filecore dumptext fileSCCS filenamed pipe     5 5"  #  > !  % # t       /P #)6 + 0 1 3 6 = W ZA  C D E5 F G! I L M% N# O)6 Pt R/P S5" T Wt X ~ > ^ > : ! / ?# BHJKOQUVXYZ"#&()'*={}[]%$,. 5 5"  ^ g k r u z    showalldateshowerrorshowgrepdisplaydisplayhomedirgrepwaitmakenowaitmakeexecexecshellcreatelonglisttyperemoveoptionsnull/..cscope/usr/lbin/vsh_lib/genhelppswhodebuggersdbeditorvimakemakemakeoutmake.outgrepoutgrep.out/.vshrcrLoading .vshrc Too few argsNot a proper commandIllegal keywordImproper number number of parmetersBad parameter nameToo many args Not found. Press ? for help. %.24sd p q ~ System ErrorToo big to LoadExecutable but not Readable....Cannot chdir -- Pathname too long//.rDirectory %s %sPage %d / %d %c %s %s[%s]*%s %s -----x-w--wxr--r-xrw-rwx--S--s-wS-wsr-Sr-srwSrws--T--t-wT-wtr-Tr-trwTrwtpcdb-??? Cannot Access %c%.3s%.3s%.3s%3d %-8.8s %-8u%4d,%3d%8ld %.24s/etc/passwdrExecute command must have parameterExecute command must have parameter+shellw%s %s r%s Cannot forkFatal error -- cannot fork Pathname: sdbsdbnmnmararvtititccpio -%s <%s: Special file: SCCS file: FIFO: Vsh cannot handle this fileCreate: : Already exists: Not a directoryCreating %s Select: a Empty file b Empty directory c Copy from file d Link from file e Move from file mkdirmkdirFrom: Cannot copy or link to directoriescpcpLinking Link failedmvmvFile not created.Path name too long/.../.egrep -n 'Grep pattern: ' /dev/null -- Grep files: *.[!aotz]wSearching TOOLS/rDisplay: w/dev/nullwr %sUnknown error%s: %s - : ~ C E F G M R ! "? 'NextPriorCd ..Cd ~CreateErrorsFindGrepMakeRemoveShellHelpExitemacsterm#2M%d@%s@%c@vsh.out%c %s %s%s %s Type in a new parameter, or Press ^D to leave. Press -Return- to display more parameters. quitDone: More: \'" * * ***   \'" * **'* *"\ * * *     Parm: : Incomplete lineNon-Ascii characterToo longLine %d: %s 0123456789-+ ;.Cannot remove files.../usr/lbin/vsh_lib/rmhelp...// Remove mode. Type ? for help.->rmdir+rmdirPress -Return-+1 @ EGrepMaker /usr/lbin/vsh_lib/showhelprr+/Directory %sShowfile -- %s %c ** End of File ** ** More **Cannot find file nameHOMEType any character to continue: %s: out of storage CDPATH%s::%s/%sTERM%s: TERM variable is not set or is not exported in your .profile %s: "%s" is not in the terminal data base ceclcmcoliteti%s: "%s" is not a screen terminal %s: "%s" is not a cursor addressable terminal %*s ..r./../..//etc/passwd0707070000020012131006440001460001440000010170160356651064600000600000030264vsh.1.ig EMACS_MODES: fill .. .de DS .PP .RS .nf .. .de DE .fi .RE .PP .. .ll 79 .TH VSH 1 .SH NAME vsh \- visual shell .SH SYNOPSIS .B vsh [ -al ] [ directory ] .SH DESCRIPTION .I Vsh is a highly interactive, visually oriented shell which eases many programming activities. Most commands involve only a single keypress. These commands cause directories to be displayed, editors to be entered, and compilers to be invoked. .PP On entry to .IR vsh , the .IR directory , which defaults to the current directory, is displayed on the screen. Members whose name begins with a period (.) are not displayed unless the .B -a option is given. Normally, directories are shown in brackets ([]) and executable files are marked by an asterisk (*). If a long listing is requested with the .B -l option, the directory/file modes are displayed instead, along with the owner, size in bytes, and time of last modification. .P Each member of the directory is labeled with a letter. To select a member, press its corresponding letter. What happens after selection depends on the nature of the member. If the member is a directory, .I vsh changes to that directory, whereas text files are edited. Full details are given later. .PP .I Vsh displays up to twenty files at a time. Directories which are larger are broken into twenty-file pages. To select a page, one presses a digit .BR 0-9 . Pages are numbered one through ten with .B 0 selecting page ten. .PP A well integrated feature of .I vsh is its connection between compilers and editors. To start a compile, one presses .BR M . .I Vsh then calls on .IR make (1). The output of this compile step is saved, and one can later review for compile-time errors. .I Vsh labels each error with a letter. One can select an error by typing in its letter. After selection, .I vsh calls an editor, sending one to the proper file at the offending line. One can jump between the editor and .I vsh until one is ready for another compile. .PP .I Vsh also provides an on-line symbol cross-reference of the files in the directory by using .IR grep (1) to find the symbol in the files and using the same editor interface described above to examine the context surrounding each symbol. .SH FILE NAMES When you are prompted for a file or directory name, you cannot use the shell file name generation meta-characters (*?[]), nor can you use environment variables such as .B $HOME. You can however use tilde (~) by itself to represent your home directory (e.g. .I ~/filename), or tilde followed by a user name to represent their home directory (e.g. .I ~user/filename). .SH FILE SELECTION As indicated before, one selects a file by pressing its corresponding letter. What happens after selection depends on the nature of the file. .TP 11 .B File type .B Action .TP .B Directory Change to new directory. .PD 0 .TP .B Archive Print archive directory. This works for both .IR ar (1) and .IR cpio (1) format archives. .TP .B Object Print the symbol name list with .IR nm (1). .TP .B Core Call debugger. .TP .B Text Call editor. .TP .B Other Selection fails. .PD .SH DIRECTORY OPERATIONS This is a list of the directory commands. Before doing anything else, you should become familiar with commands which allow you to select files and display directories. In directories larger then twenty files, you should be able to display each page. .PP .TP 10 .B Command .B Action .TP .B ^D Leave .IR vsh . .PD 0 .TP .B a-t Select associated file or directory. .TP .B 1-9 Select page 1-9. .TP .B 0 Select page 10. .TP .B space bar Select next page. .TP .B + Select next page. .TP .B \- Select previous page. .TP .B : Change to parent directory. .TP .B ~ Change to HOME directory. .TP .B / Change to root directory. .TP .B ! Escape to shell specified in the SHELL environment variable. .TP .B ? Display help file. .TP .B A Show All directory members, including those whose names begin with a period (.). If this is already in effect, this command will revert to not displaying such files. .TP .B C Create a new file. .I Vsh prompts for a file name and file type. One may create text files and directories. One may also copy, link, or move existing files. .TP .TP .B D Display Date. .TP .B F Select file or directory by name. .I Vsh prompts for a name and then selects the specified file or directory. .TP .B L Long format file listing. Next to each file, .I vsh displays protection information in the same manner as .IR ls (1). .TP .B O Option listing. The contents of command and parameter tables are displayed. .I Vsh then prompts for commands which modify parameters and which create, modify, and delete commands. .TP .B P Display Process status with .IR ps . .TP .B T Display file Types in a similar manner to .IR file (1). .TP .B W Display Who is logged in. .PD .SH REMOVE MODE Press .B R to enter .IR Remove\ mode . In .IR Remove\ mode , selecting a file causes it to be marked for removal with two slashes (//). Files selected a second time are unmarked. Pressing .B R a second time causes all marked files to be removed. The following commands are available in .IR Remove\ mode : .TP 10 .B Command .B Action .TP .B ^D Exit .IR Remove\ mode with out removing marked files. .PD 0 .TP .B a-t Select corresponding file for removal. Selecting a file a second time "undeletes" the file. .TP .B * Select all files on current page for removal. .TP .B R Remove marked files and exit .IR Remove\ mode . If .I vsh cannot remove a file, .I vsh displays the reason and waits for a response. Press the RETURN key to continue removing marked files. Press .B ^D to immediately exit from .IR Remove\ mode . .TP .B ? Display help file. .PD .PP In addition to these commands, all of the directory page selection commands are available. .SH MAKE, GREP, AND SHOWFILE .I Vsh interfaces to .IR make (1) and .IR grep (1). .I Vsh saves output from these programs and allows one to examine the results in .IR Showfile\ mode . From the directory page, the following commands control .IR make , .IR grep , and .IR Showfile . .TP 10 .B Command .B Action .TP .B G .IR Grep (1). .I Vsh prompts for a pattern and file names, and then run .IR grep with these parameters. The file names default to *.[chly]. The results are saved in the file .I grep.out and displayed in .IR Showfile\ mode . .PD 0 .TP .B S Show previous .IR grep . The output of the last .I grep is displayed in .IR Showfile\ mode . .TP .B M Run .IR make (1) in the foreground using the .I makefile in the current directory. Output is both displayed on the screen and saved in the file .IR make.out . When .I make terminates, .I vsh displays .I make.out in .IR Showfile\ mode . .TP .B N Run .IR make (1) in the background. Output is saved in .IR make.out , but is not displayed on the screen. When .I make terminates, the bell on your terminal rings twice. Use the .B E command to review the output in .IR make.out . .TP .B E Review errors. The results of the last .I make are displayed in .IR Showfile\ mode . .PD .SH SHOWFILE MODE .I Showfile displays the results of a .I make or .IR grep . It is called by the .B E and .B S commands. .I Showfile is called automatically in the course of an .B M or .B G command. .I Showfile is essentially a special editor. It has commands which allow one to display a file. One can also command .I Showfile to examine a line of the file. .I Showfile scans this line and attempt to extract a file name and line number. .I Showfile then runs the editor, starting it at the specified line. .TP 10 .B Command .B Action .TP .B ^D Leave .IR Showfile . .PD 0 .TP .B a-t Examine line for a file name and line number. If a file name is found, run the editor on this file. .TP .B space bar Select next page. .TP .B + Select next page. .TP .B \- Select previous page. .TP .B ? Display help file. .PD .PP All commands from the directory page which might be useful are available in .I Showfile mode with the exception of .B L and .BR R . Particularly useful are .B M and .B G which allow new iterations of .I make and .IR grep , the escape to the shell (!), and .BR F , which allows one to edit files not found in the file being shown. .SH CONTROL COMMANDS The operation of .I vsh is controled by its parameter and command tables. The contents of these tables can be displayed via the .B O command. These tables can be modified with control commands. When .I vsh is invoked, it searches for the file .I .vshrc in your home directory. Control comands are then read from this file, allowing one to create a personalized environment. The .B O command also prompts for control commands, allowing for interactive modification of the tables. .PP These control commands should be presented in the same lexical grammer as shell commands. Spaces and tabs separate tokens. Unquoted newlines terminate each statement. A character may be quoted by preceding it with a backslash (\\). All characters inside single quotes (' ') are quoted except the single quote. Inside double quotes (" "), .B \\ quotes another double quote and .B \\newline is ignored. Grave accents (` `) are treated as any other character. Macros (such as $HOME) are not available. .PP To change a parameter, use the format: .PP \ \ \ \ \ Parameter Value .PP .B Parameter can be any of the following: .TP 20 .B Parameter Default .B Usage .TP .B editor vi Preferred editor. .PD 0 .TP .B debugger sdb Preferred debugger. .TP .B make make Make program. You may want to change this to .IR build , for example. .TP .B grepout grep.out File used to save the output of .IR grep . .TP .B makeout make.out File used to save the output of .IR grep . .PD .PP To define a command, use the format: .PP \ \ \ \ \ Character Keyword [Parameters] .PP .B Character is the character which calls the new command. Valid characters are .B ! " # $ % & ' ( ) : * = ^ ~ [ ] { } < > , . / ? and .BR A\-Z . .PP These are the valid keywords: .TP 12 .B date Display date. .PD 0 .TP .B showall Show all directory members, including those whose names begin with a period (.). .TP .B showerror Show errors from previous .IR make . .TP .B showgrep Show output from previous .IR grep . .TP .B display Select a file or directory. If parameter is present, it is displayed. Otherwise, .I vsh will prompt for a path name. .TP .B home Change to home directory. .TP .B grep Run .IR grep . .I Vsh will prompt for parameters. .TP .B waitmake Run .IR make . Wait for termination. .TP .B nowaitmake Run .IR make . Do not wait for termination. .TP .B remove Enter .IR Remove\ mode . .TP .B longlist Print long format listing of files on the current page. .TP .B type Display file types. .TP .B options Display .I vsh options (parameter and command tables). Accept commands which modify parameters and which create, modify, and delete commands. .TP .B exec Execute a program directly with the .I execlp system call. The first parameter must be the program name. Any other parameters become parameters to the program. If it is necessary to redirect files, to expand macros, or to expand file regular expressions, use the .B shell keyword instead. .TP .B shell If no parameter is present, an interactive shell is spawned. If one parameter is present, it is passed to the shell and run as a command. Do not specify more than one parameter. Instead, enclose the entire shell command in quotes to provide .I vsh with only one parameter. .TP .B create Create a file. .TP .B null Do nothing. .PD .SH ENVIRONMENT VARIABLES .PD 0 .TP 10 .B CDPATH Search path for directory names. See the .I cd command of .IR sh (1). .TP .B EDITOR Your preferred editor, which defaults to .IR vi (1). .TP .B HOME Your home directory, which is automatically set when you login. .TP .B SHELL Your preferred shell, which defaults to .IR sh (1). .TP .B TERM The terminal type, which must be a screen terminal. .TP .B TERMCAP Terminal capability data base (termcap) full path name. If your terminal is not in the system termcap file .IR /etc/termcap , you can set this variable to your own termcap file. .PD .PP To set a variable such as .B EDITOR to a value such as .IR emacs , put this in your .IR .profile : .DS export EDITOR EDITOR=emacs .DE .SH FILES .PD 0 .TP 14 $HOME/.vshrc Initialization file (see CONTROL COMMANDS). .TP grep.out File used to save the output of .IR grep . .I Vsh tries to first create this file in the working directory. If unsuccessful, the home directory is tried. .TP make.out File used to save the output of .IR make . .I Vsh puts this file in the working directory. .PD .SH PROVIDER Joe Steffen 0707070000020012131006440001460001440000010170160356651064600001300000000000TRAILER!!!played. Otherwise, .I vsh will prompt for a path name. .TP .B home Change to home directory. .TP .B grep Run .IR grep . .I Vsh will prompt for parameters. .TP .B waitmake Run .IR make . Wait for termination. .TP .B nowaitmake Run .IR make . Do not wait for termination. .TP .B remove Enter .IR Remove\ mode . .TP .B longlist Print long format listing of files on the current page. .TP .B type Display file types. .TP .B options Display .I vsh options (parameter and command tables). Accept commands which modify parameters and which create, modify, and delete commands. .TP .B exec Execute a program directly with the .I execlp system call. The first parameter must be the program name. Any other parameters become parameters to the program. If it is necessary to redirect files, to expand macros, or to expand file regular expressions, use the .B shell keyword instead. .TP .B shell If no parameter is present, an interactive shell is spawned. If one parameter is present, it is passed to the shell and run as a command. Do not specify more than one parameter. Instead, enclose the entire shell command in quotes to provide .I vsh with only one parameter. .TP .B create Create a file. .TP .B null Do nothing. .PD .SH ENVIRONMENT VARIABLES .PD 0 .TP 10 .B CDPATH Search path for directory names. See the .I cd command of .IR sh (1). .TP .B EDITOR Your preferred editor, which defaults to .IR vi (1). .TP .B HOME Your home directory, which is automatically set when you login. .TP .B SHELL Your preferred shell, which defaults to .IR sh (1). .TP .B TERM The terminal type, which must be a screen terminal. .TP .B TERMCAP Terminal capability data base (termcap) full path name. If your terminal is not in the system termcap file .IR /etc/termcap , you can set this variable to your own termcap file. .PD .PP To set a variable such as .B EDITOR to a value such as .IR emacs , put this in your .IR .profile : .DS export EDITOR EDITOR=emacs .DE .SH FILES .PD 0 .TP 14 $HOME/.vshrc Initialization file (see CONTROL COMMANDS). .TP grep.out File used to save the output of .IR grep . .I Vsh tries to first create this file in the working directory. If unsuccessful, the home directory is tried. .TP make.out File used to save the output of .IR make . .I Vsh puts this file in the working directory. .PD .SH PROVIDER Joe Steffen 0707070000020012131006440001460001440000010170160356651064600001300000000000TRAILER!!!played. Otherwise, .I vsh will prompt for a path name. .TP .B home Change to home directory. .TP .B grep Run .IR grep . .I Vsh will prompt for parameters. .TP .B waitmake Run .IR make . Wait for termination. .TP .B nowaitmake Run .IR make . Do not wait for termination. .TP .B remove Enter .IR R