Re: Multiline commands in do shell script
Re: Multiline commands in do shell script
- Subject: Re: Multiline commands in do shell script
- From: Graff <email@hidden>
- Date: Tue, 03 Feb 2004 15:05:25 -0500
On Feb 3, 2004, at 2:38 PM, John C. Welch wrote:
On 2/3/04 10:59 AM, "Hanaan Rosenthal" <email@hidden> wrote:
Try to separate the different shell commands with a semicolon:
do shell script"command 1;command 2"
Hanaan
So I need to deal with a command that never exits, (mDNS to be
precise)
and
do shell script.
Because of the way mDNS works, even if I run it as this:
mDNS -B _ssh._tcp local. > ~/Desktop/mDNSService.txt &
I never return from the do shell script step. What I'd like to do is
just
create a three - line shell script and run that, but have it live
only in
the script itself...something like
do shell script "#!/bin/sh
mDNS -B _ssh._tcp local. > ~/Desktop/mDNSService.txt &
killall mDNS"
I know there's something stupid I'm missing here, but I can't quite
figure
it out.
Nope...command never executes.
This is because in sh (the shell environment that the "do shell script"
command uses) you can't have two command separators in a row. Since
both & and ; are command separators you get an error.
This gives you an error:
do shell script "command 1 &; command 2"
If you do this instead it should work:
do shell script "command 1 & command 2"
Alternatively you can use csh or tcsh which doesn't have this problem:
do shell script "/bin/csh -c 'command 1 &; command 2'"
- Ken
_______________________________________________
applescript-users mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/applescript-users
Do not post admin requests to the list. They will be ignored.