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