Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
1 - In a shell script i want several apps to run successively. ram1.pl, ram2.pl, ram3.pl etc. I've tried "./ram*" but that just ran the first script and stopped. Is there a way i can run these without typing them all out in the script?
2 - i want to get the output of 'time perl.pl' into a file. i tried 'time perl.pl > time.txt' but that didn't work. I tried echo `time perl.pl` > time.txt which also failed. I assume there is a way. Any help please?
2) the first way will work, unless it is being written to stderr instead of stdout. does changing > to 2> make a difference? If so, the code needs to be changed to use stdout properly.
1 - In a shell script i want several apps to run successively. ram1.pl, ram2.pl, ram3.pl etc. I've tried "./ram*" but that just ran the first script and stopped. Is there a way i can run these without typing them all out in the script?
2 - i want to get the output of 'time perl.pl' into a file. i tried 'time perl.pl > time.txt' but that didn't work. I tried echo `time perl.pl` > time.txt which also failed. I assume there is a way. Any help please?
Thanks
1.
Code:
for fn in *.pl
do
./$fn
done
You asked for "successively". For simultaneous, do it this way:
Code:
for fn in *.pl
do
./$fn &
done
2.
Code:
/usr/bin/time -o time.txt ./perl.pl
The problem you were having with the second command arises from the fact that there are two "time" commands -- one a Bash builtin, the other a standalone with more features. This information comes to light by ... reading the manual.
1 - In a shell script i want several apps to run successively. ram1.pl, ram2.pl, ram3.pl etc. I've tried "./ram*" but that just ran the first script and stopped. Is there a way i can run these without typing them all out in the script?
2 - i want to get the output of 'time perl.pl' into a file. i tried 'time perl.pl > time.txt' but that didn't work. I tried echo `time perl.pl` > time.txt which also failed. I assume there is a way. Any help please?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.