%μ VAX-11 Librarian V04-00βιο•@Qριο• ,!5 SD ­@Qριο•1 SD!- Set/Show Default Directory 5SD Show the current default directory and disk&SD ^ Go up one subdirectory levelMSD ^^ Go to top level of current directory structure (enter TOP for help)0SD . Go to login default directory and diskMSD << Show the SD stack of 20 previous directories (enter STACK for help)DSD X Set default to [z.X] when currently in [ z.y]9SD > Traverse horizontally (enter TRAVERSE for help)$SD .X Set default to [current.X]3SD X.Y.Z Set default to [X.Y.Z] (enter X for help)2SD n Set default to n'th predefined directoryESD \ Fully traverse the directory tree (enter TRAVERSE for help)ISD * Show subdirectories under current default (enter STAR for help)GSD ? Show this SD help information (SD HELP or SD /HELP also work)HEnter MULT for help showing how to do multiple SD functions in one call. HSD can save its history stack over logouts; enter SAVE for help on this.!2 ^!J Sets default to the next highest directory level. If default is [X.Y.Z],F execution of  SD ^  will set default to [X.Y]. If the current3 default is a top-level directory, nothing happens.!2 TOP!O Entering  SD ^^  sets default to the top level directory. If currently& in [X.Y.Z], you will then be in [X] .!2 .!6 Sets default to the login default directory and disk.!2  X!> Sets default to the directory "X" at this subdirectory level.E If the current directory is [A.B.C] then  SD >X  sets default; to [A.B.X], or  SD >X.Y  sets default to [A.B.X.Y].B If the current default  is a top-level directory, nothing happens.@ Wildcards (* and %) may be used in the directory names; SD will6 go to the first directory matching the specification.! 2 TRAVERSE!N Using  SD >  traverses horizontally, and  SD \  traverses en-A tire directory trees. See the subtopics for more information.> When doing either type of traversal, you will get the errorA message "End of traversal reached" when there are no more dir- ectories to traverse.!3 > !@ Sets default to the next directory (in alphabetical order) on@ this level. If the current directory is [A.B], then success-G ive uses of  SD >  will set the default to [A.C], [A.D], etc.!3 \!C Fully traverses the directory tree under the current master dir-A ectory, starting at the current default. For instance, if theI current directory is [A.B], then successive uses of  SD \  will set the default to:A [A.B.B1] [A.B.B2] [A.C] [A.C.C1] [A .C.C1.C1X] [A.D] etc.B If the traverse starts from a master directory, then ALL of theC tree under it will be traversed; the above example starts in the@ middle of the tree, and shows that parts of the tree 'before'@ the starting point (in alphabetical order) are not traversed.!2 .X!F Sets default to the subdirectory named X at the next lower level. IfL the current default is [A.B], then  SD .X  results in a new defaultE of [A.B.X], or  SD .X.Y.Z  results in default of [A.B.X.Y.Z].C Wildcards (* and %) may be used in the directory names; SD will go3 to the first directory matching the specification.!2 X!G Sets default to directory [X] on the current device. Note that squareG brackets are not required around the directory name; they are allowed, however. Examples:; $  SD MYDIR  $  SD NEWDIR.A.B 7 You can also move to a different device, by executing:& $  SD device:directory F  The colon is required; you may follow the colon with a blank. If youD just enter a device, you will go to your current default on the new- device (e.g. from DUA0:[X.Y] to DUA1:[X.Y]).F Wildcards (* and %) may be used in the directory names; SD will go to0 the first directory matching the specification.!2 n!B Sets default to the n'th predefined directory. You can define or6 redefine these yourself, as in the following example:> $ SD /2=MYDISK:[MYDIR.MYSUB] /3=MYDISK:[MYDIR.OTHER]A Such definitions last until you logout or redefine them. If you< want them to be permanent, put them in your LOGIN.COM file.? Note that you must include the square brackets in definitions.> A definition can also be of a device only, such as "DUA0:" orD "SYS$SYSROOT:". If so, then you can combine it with another entry, such as:# $  SD 1 X.Y.Z G! LOCAL --- LOCAL --- LOCAL --- LOCAL --- LOCAL --- LOCAL --- LOCAL ---C On the --- VAXcluster, numbers 1-7 are defined for you to point toH each UDISKn. For example,  SD 2 ABC  will move to UDISK2:[ABC].!2 STACK!G SD maintains a stack of the last twenty directories visited. EnteringM  SD <<  displays the SD stack, with the current directory at the top.F You can use the up-arrow and down-arrow keys to move the cursor to anG element of the stack, then use the ENTER, SELECT, or DO key to set the default to that directory.F If directory names are too long to fit on  the screen, -> is displayedF at the right margin. The left-arrow and right-arrow keys can be used to view the rest of the name. I The SPACE bar exits the stack display without moving to a new directory.( The Control/W key refreshes the screen.!2 STAR!P Entering  SD *  builds a display on VTnnn screens showing subdirectoriesJ under the current directory. When the display is complete, you may enterI a BLANK to exit the display, or you may travel through the display using 9 EDT-like key commands; hit the HELP key for definitions.I You may highlight any directory in the display using the arrow keys. ToG travel to the highlighted directory, hit the ENTER, SELECT, or DO key.I Often the display is too wide to fit on the screen. Keys are defined toG change the screen width to 132 and 80, and to shift the screen to view off-screen portions.( The Control/W key refreshes the screen.J The separate SDDRAW utility is used to create a printable file containingP a directory structure diagram like  SD *  produces. See HELP SDDRAW for details.!2 Errors!J SD checks for the existence of the directory being entered, and prints anJ error message if it is not found, if the device is not mounted, or if you+ don't have privilege to use the directory.! 2 Version!N Entering  SD /VERSION  displays SD's current version number. EnteringF  SD $  will currently also do this, but may not in the future.! 2 SYSMGRs!   SD and System Managers E When a privileged user executes SD, the following differences apply:D SD @username Goes to login directory of the specified user (ifC username is blank, goes to your login directory)E SD # If in [SYSi.xxx], goes to [SYSj.xxx], where j=i+1 in hexB SD #n If in [SYSi.xxx], goes to [SYSn.xxx]; i and n are hexA The latter two work only if currently in a directory namedC [SYSn.xxxx], where N is any hex n umber, and XXXX is any sub-@ directory(s). These are for traversing VMS system roots.E SD >X, and SD >, if at a top-level directory, will go to the nextE alphabetic directory. SD ^ from a top-level directory will go to; [000000]. These are all no-ops for unprivileged users.; Also, SD /TEST [params] will run SD in "SD Debug" mode.! 2 SDENTRY!E If a file "SDENTRY.COM" exists in the new directory, it is executed.= This allows you to define symbols related to that directory.B If you don't want SD to execute SDENTRY or SDEXIT procedures, setC global DCL symbol SD_COM to a string value beginning with "N". IfB you set SD_COM to a string value beginning with "Y", SD will tell# you when it runs these procedures.!2 SDEXIT!C If a file "SDEXIT.COM" exists in the current default directory, itC is executed before a move is made to a new directory. This allowsC cleaning up of symbol or logical name definitions when leaving theC current directory. SDEXIT.COM will find P1 set to the name of the$ directory where SD is traveling to.B Normally, this feature would be used in conjunction with SDENTRY.B If you don't want SD to execute SDENTRY or SDEXIT procedures, setC global DCL symbol SD_COM to a string value beginning with "N". IfB you set SD_COM to a string value beginning with "Y", SD will tell# you when it runs these procedures.!2 SD.COM!E If a file "SYS$LOGIN:SD.COM" exists, and if global DCL symbol SD_COMD is se t to a value of "xY" (where "x" is any character), then SD.COMC is executed before a move is made to a new directory; it will findC P1 set to the name of the directory where SD is traveling to. TheD procedure will be called before any SDEXIT.COM is called. An error> message will be displayed if you have not provided an SD.COM.E This provides a way, for example, for users to easily change the DCLE prompt based on what directory they are going to. Users on VT3nn orG VT4nn terminals can use this to put the new directory name in the 25th line.!2 MULT!K In certain cases, SD can do multiple functions in one call. Blank(s) must separate the functions.@ A. A * can be done after all operations except SHOWs:# $  SD X.Y * @ B. You can do a DIRECTORY after all operations except SHOWs:X $  SD >X DIR /DATE  (you must use the abbreviation DIR)? C. On GO operations, you can have it do multiple movements:V $  SD . .Y  (go to subdirectory Y of login default directory)T $  SD ^ ^  (go up two levels; note difference from SD ^^ )T $  SD < >X  (the explanation of this is left as an exerciseK to the user)!2 Logical_Names!I SD translates logical names if given. For example,  SD SYS$HELP . will set the default to SYS$SYSROOT:[SYSHLP].C If a logical name translates to a full file name, SD only uses the device and directory portions.! 2 Document!G! LOCAL --- LOCAL --- LOCAL --- LOCAL --- LOCAL --- LOCAL --- LOCAL ---2 For a hard-copy listing of this HELP text for SD:> Print the file HERE:SD.DOC on a line printer ? or print the file HERE:SD.LQP on a laser printer!2 SAVE_RESTORE!K SD can save its history over logouts. Do "SD /SAVE" to save it before youI logout, and "SD /RESTORE" when you login. This works best if you create9 a LOGOUT.COM. An example of setting this feature up is:7 LOGIN.COM: $ IF F$MODE() .EQS. "INTERACTIVE" $ THEN% $ SD /RESTORE8 $ LO*GOUT == "@SYS$LOGIN:LOGOUT" $ ENDIF LOGOUT.COM: $ SD /SAVEA $ LOGOUT = "" ! Prevents infinite loops $ LOGOUTE SD uses the file SYS$LOGIN:SD .HISTORY to save this context. You canG use any other file, by specifying /SAVE=filename or /RESTORE=filename.G A RESTORE causes the file to be deleted; trying to RESTORE from a non-' existing file does not cause an error. 2 SymbolsE SD uses Global DCL Symbols to maintain its history stack and to holdE the definitions of the predefined directories. Deleting or changingD the values of these symbols will cause SD to work incorrectly. The names of the symbols are:1 SD_SLO Tn, where n=0 to 20 (the stack)5 SD_SP (stack pointer)> SD__i, where i is an integer (predefined directories)F Also, the use of Global DCL Symbol "SD_COM" is described elsewhere inF this help text, and SD itself is called as a "foreign command", using Global DCL Symbol "SD".!7! Alan L. Zirkle Naval Surface Weapons Center#! Code K554! Dahlgren, Virginia 22448!+! SD Version 4.008, 10 September 1991! ww