Quote:
Originally posted by degwright
Perderabo,
Thanks for the information you have provided so far, but I have to take this further.
I have to assume from the evidence to date that the sys vars are taking up space which prevents the 'ls' command from working correctly.
Hmmm...you seem to be correct. To paraphrase a great American statesman, my previous guess is no longer operative...
If you do a "man 2 exec" and look at the errors that can occur. In particular, the kernel can return
Quote:
E2BIG - The number of bytes in the new program's argument list plus environment is greater than the system-imposed limit. This limit is at least 5120 bytes on HP-UX systems.
I assume, of course, that you will completely ignore the documented limit of 5120 and will experimentally determine the maximum you can achieve today.
So where does this leave you? If your developers develop more programs your script is going to fail. You seem to realize this. I'm not sure that you realize that an OS patch or upgrade could do the same thing.
I must expand my recommendation to you. Not only must you write code that will keep command lines under 2048 bytes, you also need to ensure that the command line plus the environment are less than 5120 bytes. I'm glad we cleared that up!
You're apparently unwilling to consider coding techniques that do not put all file names in one command line. Well, there is another approach. You could segment your project so that there are many small directories instead of one large one. This would render your code safe. But also, large directories slow unix down since they must be searched sequentially.
These really are the only options I see for you. Sorry for the bad news.