Usually you'd do it like this: <% if luci.http.formvalue("run_script") then os.execute("/path/to/script.sh >/dev/null") end %> ... <input type="submit" name="run_script" value="Run Script" /> Note that the value of the name="..." attribute and the formvalue check must match. ~ Jow