[NTLUG:Discuss] bash question: executing a list of commands
Lance Simmons
lance at lsimmons.net
Sun Feb 22 21:45:56 CST 2004
Suppose I have a file named foo with a series of commands I want
execute. E.g.,
ls -l
ls -lt
ls -ltr
How do I execute the lines of foo in order? I've tried
for i in `cat foo`; do "$i"; done
for i in "`cat foo`"; do "$i"; done
and several others, but haven't been able to make it work.
I've tried using xargs, by editing foo to contain only the lines
-l
-lt
-ltr
and then doing
xargs -p ls < foo
but the resulting command line is
ls -l -lt -ltr
not the desired
ls -l
ls -lt
ls -ltr
What am I missing? How do I take an arbitrary list of commands and
execute them seriatim?
(As to why I don't just put the commands in a script and execute them
directly, the answer is that I want to build the list of commands as
output from another command. In other words, I want the equivalent of
the find command's -exec option.)
--
Lance Simmons
More information about the Discuss
mailing list