Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
Component: Shell
Functions to run command line tools.
Run tools in background, send input text and receive output.
Version | macOS | Windows | Linux | Server | iOS SDK |
7.5 / 13.0 | ✅ Yes | ✅ 98% | ✅ 98% | ✅ 81% | ❌ No |
Item | Details | Server |
---|---|---|
Shell.AddArgument Adds an argument. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.AddEnvironment Adds an entry for environment variables. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.AvailableBytesError Queries number of available bytes in error. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.AvailableBytesOutput Queries number of available bytes in output. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.ClearArguments Clears arguments list. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.ClearEnvironment Clears list of environment variables. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.CloseInput Closes input stream. | Mac/Win/Linux 8.3 |
✅ Server |
Shell.CloseStreams Closes all streams. | Mac/Win/Linux 8.3 |
✅ Server |
Shell.Execute Executes a child process. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.ExitCode Queries exit code of child application. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.GetApplicationName Queries application name. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.GetArgument Queries argument. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.GetArgumentCount Queries number of arguments. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.GetArguments Queries arguments as list. | Mac/Win/Linux 9.3 |
✅ Server |
Shell.GetBufferSize Queries desired shell buffer size. | Mac/Win/Linux 10.3 |
✅ Server |
Shell.GetCompletedEvaluate Queries expression to be run when shell is done. | Mac/Win/Linux 7.5 |
❌ Server |
Shell.GetCompletedScriptFileName Queries filename of script to call in when shell is done. | Mac/Win/Linux 7.5 |
❌ Server |
Shell.GetCompletedScriptName Queries name of script to call when shell is done. | Mac/Win/Linux 7.5 |
❌ Server |
Shell.GetCurrentDirectory Queries current directory path. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.GetDataAvailableEvaluate Queries expression to be run when data is available. | Mac/Win/Linux 10.0 |
❌ Server |
Shell.GetDataAvailableScriptFileName Queries filename of script to call in when shell has data available. | Mac/Win/Linux 10.0 |
❌ Server |
Shell.GetDataAvailableScriptName Queries script name to call in when shell has data available. | Mac/Win/Linux 10.0 |
❌ Server |
Shell.GetDomain Queries domain name for login. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.GetEnvironment Queries list with environment variables. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.GetPassword Queries password for login. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.GetTag Queries tag value. | Mac/Win/Linux 13.0 |
✅ Server |
Shell.GetUsername Queries user name. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.IsRunning Queries whether application is running. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.List Lists all IDs of shell objects. | Mac/Win/Linux 13.0 |
✅ Server |
Shell.New Creates a new shell object. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.PeekErrorText Peeks into error output buffer. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.PeekOutputText Peeks into output buffer. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.ProcessIdentifier Queries process identifier of child process. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.ReadErrorText Reads error. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.ReadOutputText Reads output. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.Release Frees the shell object. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.ReleaseAll Frees all Shell objects. | Mac/Win/Linux 10.5 |
✅ Server |
Shell.SetApplicationName Sets the application name. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.SetArguments Sets list of arguments to parameters of this functions. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.SetArgumentsList Sets list of arguments. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.SetBufferSize Sets desired shell buffer size. | Mac/Win/Linux 10.3 |
✅ Server |
Shell.SetCompletedEvaluate Sets expression to be run when shell is done. | Mac/Win/Linux 7.5 |
❌ Server |
Shell.SetCompletedScript Sets which script to call when shell is done. | Mac/Win/Linux 7.5 |
❌ Server |
Shell.SetCurrentDirectory Sets the current directory to use. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.SetDataAvailableEvaluate Sets expression to be run when shell has data available. | Mac/Win/Linux 10.0 |
❌ Server |
Shell.SetDataAvailableScript Sets the script to run when new data arrived. | Mac/Win/Linux 10.0 |
❌ Server |
Shell.SetDomain Sets the domain to use for login. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.SetPassword Sets the password for login. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.SetTag Sets tag value. | Mac/Win/Linux 13.0 |
✅ Server |
Shell.SetUsername Sets the user name. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.Terminate Terminates the child process. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.TerminationReason Returns the reason the task was terminated. | Mac only 7.5 |
✅ Server |
Shell.Wait Waits for child process. | Mac/Win/Linux 7.5 |
✅ Server |
Shell.WriteInputText Writes a text to input stream. | Mac/Win/Linux 7.5 |
✅ Server |
54 functions shown.
These functions require a license (61%).
Release notes
- Version 13.5
- Fixed Shell.Terminate for Windows to work better.
- Version 13.0
- Added Shell.GetTag and Shell.SetTag functions.
- Added Shell.List function.
- Fixed Shell.ExitCode to work better on Linux.
- Version 12.0
- Version 11.2
- Changed a couple of internal text functions to recognize that text with UTF-8 as a BOM for UTF-16 or UTF-32 and then reinterpret bytes to handle that. Useful for Shell.ReadOutputText, when a command line tool outputs UTF-16 instead of expected UTF-8.
- Fixed Shell functions for Windows to allow PowerShell.exe to run.
- Version 10.5
- Added CFunction.ReleaseAll, CGImageSource.ReleaseAll, CLibrary.ReleaseAll, DynaPDF.ReleaseAll, ECKey.ReleaseAll, FSEvents.ReleaseAll, MarkDown.ReleaseAll, MenuItem.ReleaseAll, SendMail.ReleaseAll, Shell.ReleaseAll, SmartCard.ReleaseAll, TouchBar.ReleaseAll, UserNotification.ReleaseAll, WMFP.ReleaseAll, WMIQuery.ReleaseAll and WindowsUserNotification.ReleaseAll.
- Version 10.3
- Added Shell.GetBufferSize and Shell.SetBufferSize functions.
- Deprecated RunTask functions in favor of Shell functions.
- Version 10.1
- Fixed bug in Shell.PeekErrorText function for MacOS.
- Version 10.0
- Added Shell.SetDataAvailableEvaluate, Shell.GetDataAvailableEvaluate, Shell.SetDataAvailableScript, Shell.GetDataAvailableScriptName and Shell.GetDataAvailableScriptFileName functions.
- Renamed Shell.SetEvaluate to Shell.SetCompletedEvaluate and Shell.GetEvaluate to Shell.GetCompletedEvaluate.
- Renamed Shell.SetScript to Shell.SetCompletedScript, Shell.GetScriptName to Shell.SetCompletedScriptName and Shell.GetScriptFileName to Shell.SetCompletedScriptFileName.
- Version 9.3
- Added Shell.GetArguments function.
Blog Entries
- Goodies 33: Custom context menu commands for FileMaker ScriptWorkspace
- MBS @ dotfmp 2024
- Calling C functions from FileMaker
- New in MBS FileMaker Plugin 13.0
- MBS FileMaker Plugin 10.3 - More than 6200 Functions In One Plugin
- Simulating a terminal in FileMaker
- Custom context menu commands for FileMaker ScriptWorkspace
- Run fmsadmin from script
- MBS FileMaker Plugin 8.3 released
- Convert office documents to PDF with LibreOffice