Some Additional Additions ;-)
First mention the on-line manuals: in general: http://h71000.www7.hp.com/doc/ specific: http://h71000.www7.hp.com/doc/731FINAL/6489/6489PRO.HTML aka the usersguide (for VMS 7.3-1) [some text deleted] > > Directories can contain wildcards. For example, > [topdir.*.dir3] refers > to every subdirectory of topdir that also has a subdirectory called > dir3. This can also be combined.. [topdir...dir3.*] which will do the obvious: search below topdir, for dir3 direcotries and then all subdirectories thereof. Also you have to keep in mind that in unix wildcards are almost allways expanded by the shell (using glob to be more precise) and that wildcards on VMS need to be supported by the program itself by using lib$find_file or lib$file_scan or underlying RMS services. > Hmm, I suppose that depends on how much of the flexibility of logicals > and filename parsing you want to describe. For example, try the > following: > > define xxx sys$sysdevice:filename > write sys$output f$parse("[000000].e","xxx") > > This example, plus what you are showing, indicate that a > logical can be > used to explicitly specify part or all of a filename, or it > can be used > to fill in any missing part of a filename. And things that are missing even then are filled in from the default file specification set by "SET DEFAULT". "Set default" is not the same as "cd" in exactly the this sense, it provides the ultimate default. The concept of "Current Directory" is unknown in VMS. See also: "help lexical f$parse" and play with it. > > Something that should always be mentioned to Unix people when talking > about this, IMHO, is the following: > > Because DCL (the command shell) validates the arguments > before executing > the program, rather than requiring each program to do its own > validation, VMS provides extremely consistent syntax among > its commands > as well as consistent error messages related to command parsing. Not only it validates the arguments but it also converts relative timespecs like: "TOMORROW+4:0" etc to the canonical form: DDDD-HH:MM:SS:hh Also %X<hexstring> & %O<octalstring> are converteed to decimals: %Xff -> 255 > > > > You can make a DCL 'shorthand' command for these two things > like this: This is called a "foreign command". > > > > $ someprogram :== $disk:[dir1.dir2]someprogram > > $ somescript :== @disk:[dir1.dir2]somescript > > > > There are a couple of caveats to be aware of: > > > > a) Use "$" for compiled code (EXE's), and "@" for DCL > scripts (COM's) > > b) Unless you specify the file extension, it's assumed to be EXE for > > executables, and COM for scripts. This is also usable like the 'alias' command in Unix. $ DEL :== DELETE/CONFIRM $ DELE :== DELETE/CONFIRM $ DELET :== DELETE/CONFIRM or in short: $ DEL*ET :== DELETE/CONFIRM And it allows to modify the defaults of commands just like alias rm='rm -i' whould do for the above example. Advisable is to NOT use DELETE :== DELETE/CONFIRM as it might make scripts work in inconvinient ways as this will also be used in scripts as a replacement. To protect yourself in scripts use a \ after a command name and the alias/symbol will not be used. i.e. DELE\ will use the original DELETE verb. > > > > You can put a list of these command definitions into your > LOGIN.COM file > > to have them handy for use. > > > > 5) Finally, as of VMS 6.2, VMS has implementated a Unix like PATH > > specifier. > > > > If you type a command at a VMS prompt, DCL will first search it's > > internal command table, then it's 'shorthand' commands for > a matching Actualy the alias/symbols are evaluated BEFORE parsing the command line. > > name. If it does not find any, it will then search the list of > > directories contained in the special logical named DCL$PATH for an > > executable or script with a matching filename. > > > > So, for example, you could do the following: Kind regards, Nico Baggus ----------------------------------------------------------------- ATTENTION: The information in this electronic mail message is private and confidential, and only intended for the addressee. Should you receive this message by mistake, you are hereby notified that any disclosure, reproduction, distribution or use of this message is strictly prohibited. Please inform the sender by reply transmission and delete the message without copying or opening it. Messages and attachments are scanned for all viruses known. If this message contains password-protected attachments, the files have NOT been scanned for viruses by the ING mail domain. Always scan attachments before opening them. -----------------------------------------------------------------
