ch08 17


Picking a Unique Filename Automatically (Unix Power Tools, 3rd Edition) 8.17. Picking a Unique Filename Automatically Shell scripts, aliases, and other programs often need temporary files to hold data to be used later. If the program will be run more than once, or if the temp file needs to stay around after the program is done, you need some way to make a unique filename. Generally these files are stored in /tmp or /usr/tmp. One way is with the shell's process ID number (Section 24.3), available in the $$ parameter. You might name a file /tmp/myprog$$; the shell will turn that into something like /tmp/myprog1234 or /tmp/myprog28471. If your program needs more than one temporary file, add an informative suffix to the names: % errs=/tmp/myprog-errs$$ % output=/tmp/myprog-output$$ You can also use date's + option to get a representation of the date suitable for temporary filenames. For example, to output the Year, month, day, Hour, Minute, and Second: % date Wed Mar 6 17:04:39 MST 2002 % date +'%Y%m%d%H%M%S' 20020306170515 Use a + parameter and backquotes (``) (Section 28.14) to get a temp file named for the current date and/or time. For instance, on May 31 the following command would store foo.0531 in the Bourne shell variable temp. On December 7, it would store foo.1207: % temp=foo.`date +'%m%d'` If you'll be generating a lot of temporary files in close proximity, you can use both the process ID and the date/time: % output=/tmp/myprog$$.`date +'%Y%m%d%H%M%S'` % echo $output /tmp/myprog25297.20020306170222 --JP and DJPH 8.16. oldlinks: Find Unconnected Symbolic Links9. Finding Files with find Copyright © 2003 O'Reilly & Associates. All rights reserved.

Wyszukiwarka

Podobne podstrony:
ch08
ch08
ch08
ch08
ch08
ch08
CH08
ch08
ch08 (17)
ch08
ch08
ch08
ch08
ch08
ch08
ch08
CH08

więcej podobnych podstron