Unix scripting help

Jim Ault JimAultWins at yahoo.com
Tue Oct 4 12:28:43 EDT 2005


Check Apple's AppleScript web site for the latest on using shells and
Panther/Tiger.
The caution they give is that Terminal uses a slightly different shell by
default.  You need to change shells to the one Applescript will use, then
test in Terminal.

This may not be related to your problem.

Jim Ault
Las Vegas


On 10/4/05 9:17 AM, "Chris Sheffield" <revlist at cableone.net> wrote:

> Sarah,
> 
> Thank you for this.  I think I'm getting closer using your little
> trick, but my standalone still hangs at that point.  I've tried it
> with "exit" and without with the same results.  I just don't get why
> this is happening.  When I create a script file and run it from
> Terminal, it works as expected.  When I run the script from within
> Rev it hangs.  Do you (or anyone for that matter) have any other ideas?
> 
> Thanks.
> 
> 
> On Sep 29, 2005, at 2:41 PM, Sarah Reichelt wrote:
> 
>>> I've got an installer in Rev that has to start a process under OS X
>>> using the shell function.  I'm able to get the process to start just
>>> fine using a command line script.  But the problem I'm having is this
>>> particular process does not return any value when started, and the
>>> shell command is not exiting because of this (at least that's what I
>>> assume is happening).  So my script just kind of hangs at that
>>> point.  The process I'm starting is the Valentina database server.
>>> 
>>> So what I'm looking for is a way to run my script, which starts the
>>> process, but include in my script something that says, "Okay, I'm
>>> finished now", and will allow my handler to go on at that point.
>>> This is the current script I'm running with the shell function:
>>> 
>>> #!/bin/sh
>>> pw=[PasswordHere]  -- this is obtained earlier with an authentication
>>> dialog
>>> echo $pw | sudo -S /Library/RNSEServer/RNSEServer &
>>> exit
>>> 
>>> 
>>> Now, if I run these lines one at a time from a Terminal window
>>> everything works great.  But if I run the script all at once, whether
>>> from Revolution or from a Unix script file, it hangs, almost as if
>>> the exit command isn't executing.  So is there something I can use in
>>> place of 'exit' that will cause my script to finish?  Or is there
>>> same way to cause the shell function not to wait like it does by
>>> default?  I was previously using "open process" instead of shell, and
>>> that worked except that
>>> 
>> 
>> Hi Chris,
>> 
>> Here is an example of a script I use that really does run in the
>> background.
>> 
>>  put "ping -c1 -n "  & pIP into tShellCmd
>>  put " > " & tFileName & " 2>&1 &" after tShellCmd
>>  get shell(tShellCmd)
>> 
>> I tried using the ampersand and it didn't work but this does. It
>> writes it's output to a file which you may not need, but the crucial
>> bit is the " 2>&1 &" which allows my Rev script to continue without
>> waiting for the shell command to finish.
>> 
>> You can feed your lines into the variable "tShellCommand" although you
>> may not need the "exit" at all.
>> 
>> I hope this helps as I detest installers that require me to do a
>> reboot. I  feel it is nearly always due to lack of understanding or
>> programmer laziness rather than because the system really needs to
>> restart.
>> 
>> Cheers,
>> Sarah
>> _______________________________________________
>> use-revolution mailing list
>> use-revolution at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-revolution
>> 
> 
> ------------------------------------------
> Chris Sheffield
> Read Naturally
> The Fluency Company
> http://www.readnaturally.com
> ------------------------------------------
> 
> 
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution





More information about the use-livecode mailing list