Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!decwrl!sun!quintus!ok From: ok@quintus.UUCP (Richard A. O'Keefe) Newsgroups: comp.unix.questions Subject: Re: VMS: logicals UNIX: links, but... Message-ID: <998@quintus.UUCP> Date: 14 Apr 89 04:47:57 GMT References: <16880@mimsy.UUCP> <1337@naucse.UUCP> Reply-To: ok@quintus.UUCP (Richard A. O'Keefe) Organization: Quintus Computer Systems, Inc. Lines: 37 In article <1337@naucse.UUCP> jdc@naucse.UUCP (John Campbell) writes: >I remember being quite surprised to discover (as I was learning unix) >that common practice was to open full pathname entities on unix. Instead, >of the nice abstraction that I was used to on VMS I found references to ^^^^^^^^^^^^^^^^ >/usr/dict/words, /usr/lib/tex/fonts, /usr/spool/uucp, etc. If you can give me a self-contained description of the rules for VMS version 5.0 logical name translation, taking one normal-sized piece of paper and using a 10-point or larger font, then I will concede that VMS has a "nice abstraction", and I shall further send you US$100. Use any well-known functional notation: ML, Miranda, SASL, KRC, FP... If you can do it in two pages, I'll send you $50 (I could use the clear description that DEC didn't see fit to provide), but I won't call something that complex a "nice abstraction". As for the UNIX way of getting to standard files, the names have to be stored *somewhere*. System utilities are entitled to put information anywhere the system designers chose to; those programs are not intended to work with any other file, and this approach keeps those names out of the user's "logical name" space. Any add-on product which is sold to people ought to come with an installation script which people can edit to place the files in the directory of their choice. (This makes it a lot easier for the customers to install an upgrade and keep on running the old version for a while.) For another method of locating files, look at the various .*rc files. Consider 'mail': it picks up either $MAILRC if that is defined or $HOME/.mailrc if it is not. In that file you can say DEAD=filename # save botched messages in this file folder=directory # where to save mail files record=filename # save copies of outgoing messages here amongst other things. So you can build up a table of what files you want the mailer to use, and say % MAILRC=that/file mail You can easily set up a script to generate that file dynamically, if you want.