Hello Sarah:

Worked very well. I had the whole concept wrong.

Thanks for your help.

W.

On Sep 6, 2005, at 6:32 PM, Sarah Reichelt wrote:

I have an app (runs on OSX) that is basically a website generator.
Looks at some folders and puts some html wrappers around files there
after a user enters some info. Two of the items entered are a
username and password. The prog then generates all the html and
should generate an .htaccess and .htpasswd files.

What I need is to run htpasswd to generate the encrypted password
for .htaccess

The problem is that REV won't let me run or even launch a shell. It's
supposed to work, but it just doesn't.

If anybody knows how to run a shell prog and return it's result I
would REALLY appreciate any help.


Hi Wally,

I have done this many times without problem, although I have never
tried it with the htpasswd command.

For a simple command, I use somethig like this:

  put "cd /Users/sarah/Desktop/" & cr & "pwd" into tCmd  -- put the
shell command into a variable
put shell(tCmd) into tResult -- do the shell command and get the result
  put tResult into fld 1  -- display the result

As you can see, I was able to use a 2 line series of commands, by just
joining them together with a line break.

If the shell command requires sudo, then it gets a bit more
complicated, but here is how I do it (this example sets the system
clock):

  put "#!/bin/sh" & cr into tScript
  put "pw=" & quote & tPass & quote & cr after tScript
  put "echo $pw | sudo -S date " & tDate & tTime & cr after tScript
-- build the command lines
  put shell(tScript) into tCheck  -- do the command & get the result

You have to quote your admin password, but you can ask for that when
running the script.

Finally, you sometimes need to run a shell command in the background.
In this case, I use the following syntax, which puts the result into a
text file. I then set up a regular check to see if the text file is
there and read the result when it's ready (this example pings an IP
address, waiting up to 15 seconds for the result, but not blocking
anything else from happening during that time):

function checkPing pIP
  put specialFolderPath("Desktop") & "/ping.txt" into tFileName
  if there is a file tFileName then delete file tFileName

  put "ping -c1 -n "  & pIP into tShellCmd
  put " > " & tFileName & " 2>&1 &" after tShellCmd
  get shell(tShellCmd)

  repeat 15 times
    wait 1 second with messages
    if there is a file tFileName then
      put URL ("file:" & tFileName) into tRes
if tRes is empty then next repeat -- file created but no result yet

      put wordOffset("loss", tRes) into tWord
if tWord = 0 then next repeat -- file created but result not complete

      put word tWord-2 of tRes into tPercent
      if tPercent = "0%" then return true
      else return false
    end if
  end repeat

  return false
end checkPing

I hope these examples help, but if you want any further advice or
testing, let me know.

Cheers,
Sarah
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution



_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to