Sponsored Content
Top Forums Shell Programming and Scripting Copy content of multiple sh's into one Post 302805603 by Don Cragun on Friday 10th of May 2013 12:26:16 PM
Old 05-10-2013
Quote:
Originally Posted by verdepollo
KSH and Bash expansions are guaranteed to create an alphabetically sorted list of names before "feeding" it to cat.

Besides, file name expansion is performed before any redirection occurs.

Not sure about other shells.
Hi verdepollo,
You're correct. A POSIX conforming shell will perform pathname expansions before performing redirections.

Nonetheless, I have seen enough scripts fail because an output file was matched by an input pathname pattern expansion that I advise script writers to avoid the issue. When testing a new script and when a script fails for some reason and needs to be restarted, users frequently forget that they need to remove the output file before restarting the script. Even when it works, a user may want to run the script again the next day, week, or month and the output file can then accidentally become both an input file and an output file, leading to unexpected results. And if it is running on a system being shared with other users, the mistake can affect everyone using that filesystem; not just the user that forgot to remove the output file before restarting the script. Furthermore, when the script completes successfully, users often want to remove the (no longer needed) input files. If the output file matches the pattern that was used to select the input files, it is too easy to accidentally remove not only the input files, but also the output file.

Therefore, I strongly urge programmers not to create an output pathname that will be matched by the expansion of an input file pattern even though the output file should not be present when the script starts.
This User Gave Thanks to Don Cragun For This Post:
 

7 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Get multiple line content between two chars

Hello - I have a file that has the something like the following : REM CREATE TABLE lots of text REM table specifc creation text ; REM ALTER TABLE lots of text REM text specific to the the alter command REM could be more lines of text; What I need is to get all the lines for the ALTER... (2 Replies)
Discussion started by: Feliz
2 Replies

2. UNIX for Dummies Questions & Answers

Deleting Multiple Files With the Same Content

My website has been hacked and i need to remove a lot of unique files with same content. The files have very similar code: eval(base64_decodeHow do i find multiple/all the files with the above code and remove them? Thanks. (10 Replies)
Discussion started by: Boris_yo
10 Replies

3. Shell Programming and Scripting

copy content of file to another files from certain position

Hello Guys I have a directory of xml files (almost 500 ) Now in each xml file 3 new attributes will be added which are in a different single file Is there any way I can copy the whole content of single file at 6th line of all the files in the directory . Thanks a lot!!! (7 Replies)
Discussion started by: Pratik4891
7 Replies

4. Shell Programming and Scripting

How to copy mail content in a file in Unix

Hi Guys I want to write a script which search mail with subject line and after that I want the mail content in a file please help guys. Thanks Atul Singh (3 Replies)
Discussion started by: atul9806
3 Replies

5. UNIX Desktop Questions & Answers

copy content of file to another

I have a file called part1.pdb...contents are: ATOM 1 N SER 1 -10.295 -8.909 10.913 1.00 0.00 ATOM 2 H1 SER 1 -10.230 -8.214 10.183 1.00 0.00 ATOM 3 H2 SER 1 -9.558 -8.745 11.584 1.00 0.00 ATOM 4 H3 SER 1 -11.255 ... (1 Reply)
Discussion started by: kanikasharma
1 Replies

6. Shell Programming and Scripting

How to replace multiple file content?

Hi Gurus, I need replace multiple files content. the file name pattern likes currentfile_code_* the content pattern in the file like text=value I need replace the content as text=abcde Thanks in advance (7 Replies)
Discussion started by: ken6503
7 Replies

7. Shell Programming and Scripting

Bash selective copy folders and content to another location

I'm looking for a bash scrypt to copy some folders and some of the content to another location. I'm a teacher and very noobish with programming language anyway what I'm looking for , I have this director structure Main director "Students" with subfolders "john";"daisy";"work" etc .. and some of... (2 Replies)
Discussion started by: brickleul
2 Replies
shcomp(1)							   User Commands							 shcomp(1)

NAME
shcomp - compile a ksh93 shell script SYNOPSIS
shcomp [-nv] [infile [outfile]] shcomp -D [infile [outfile]] DESCRIPTION
If the -D option is not specified, shcomp takes a shell script, infile, and creates a binary format file, outfile, that ksh93 reads and executes with the same effect as the original script. Aliases are processed as the script is read. Alias definitions whose value requires variable expansion will not work correctly. OPTIONS
The following options are supported: -D Generate a list of strings that need to be placed in a message catalog for internationalization. --dictionary With this option, all double quoted strings that are preceded by $ are printed, one literal per line. A literal $"foo" prints "foo" in the output. These are the messages that need to be translated to locale specific versions for internation- alization. -n Display warning messages for obsolete or non-conforming constructs. --noexec -v Display input from infile onto standard error as it reads it. --verbose OPERANDS
The following operands are supported: infile Specifies the name of the file that contains the shell script to be used as input. If infile is omitted, the shell script is read from standard input. outfile Specifies the name of the output file. If outfile is omitted, both modes write their results to standard output. EXIT STATUS
The following exit values are returned: 0 Successful completion. >0 An error occurred. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |CSI |Enabled | +-----------------------------+-----------------------------+ |Interface Stability |See below. | +-----------------------------+-----------------------------+ The command-line interface and the system variables are Committed. The compiled shell code format is Private. The output of the -D option is Volatile. SEE ALSO
ksh93(1), attributes(5) SunOS 5.11 27 Jan 2009 shcomp(1)
All times are GMT -4. The time now is 11:13 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy