One of the features we really wanted to see in CommandBox is OS integration to be able to execute CFML as part of the OS like any other binary. Me personally, I wanted also to script in CFML instead of convoluted BASH or any type of shell scripting language. In CommandBox you have several ways of executing via the command line. Let's investigate a few.
Running CFML Files
You can very easily create ANY cfm file and put any code in it and execute it via CommandBox.
run.cfm
<cfoutput> I am running inside of CFML at #timeFormat( now() )# on #dateFormat( now(), "medium" )# </cfoutput>
Now we can execute the file via CommandBox:
box run.cfm
And out comes the response:
I am running inside of CFML at 08:46 AM on Feb 20, 2015
This is a great way to be able to script ANYTHING, cfhttp calls, db calls, load tests, etc. The only problem at this moment for this approach is passing variables, you can't as of 1.0.0 version.
Shell Scripting
You can also leverage shell scripting with CommandBox if you are in a *Unix environment. Just create a file with some content like this:
run
#!/usr/bin/env box <cfoutput>Hello from CFML Land on #now()#</cfoutput>
Then make sure the file is executable by running the following:
chmod +x run
The key to scripting in CommandBox is the
./run
And you will then get the execution output:
jfetmac-17:tmp ortus$ ./run Hello from CFML Land on {ts '2015-02-20 09:20:00'}
Add Your Comment