I am using bash.
The reason for using the sh was something I found on the internet, wasn't aware it was bourne shell.
I just want to direct all the output to one file, which I did manage by replacing " > cmd$i_stdout.txt 2> cmd$i_stderr.txt " with " > output.txt 2>&1"
I just need now need the timestamp when every cmd* commands runs in a different file (this is to see how long the commands run).
we get these commands usually in one file from a different department, they don't have enough privileges on their account to execute these command
every command creates and *.csv file, we just copy the commands one by one into a file (commands are very long) and then execute it and send the *.csv file by email and
in the beginning we just got couple of commands, but now we are getting a lot and
these commands can sometime take hours to run
this is too much effort, because sometimes one command can take hours to run and we have to wait for the command to finish, before we can move on to the next one,
I want to automate this as much as possible and the script you gave does the job. We are working on Solaris 10 and I am using the bash shell.
Thx.
Quote:
Originally Posted by
Don Cragun
I can't tell you what interpreter you should use to run your commands other than to say that the interpreter used has to be an interpreter that recognizes the commands it is being asked to run. You are the one who knows what is in the cmd* files. You are the one who knows if those files have a first line of the form #!interpreter. You are the one who knows if the cmd* files have been marked executable or are just readable. Without this information, I don't know what you should do. It just seemed strange that you were writing this script using bash, but using a Bourne shell to run the cmd* files. (Of course, you haven't said what system you're using; so sh and bash may be the same shell.)
Do you want all of the output from all of the cmd* files in one output file? Do you want the standard output from all of the cmd* files in one output file and standard error output from all of the cmd* files in a different output file? Or, do you want the standard output and standard error output for each cmd* file in separate output files (like the script I gave you currently does)?
Do you want the output showing which cmd* file is being started and the timestamp written to the same file as the standard output for the cmd* file that is about to run, to the standard output of the entire script, or to a different log file?