User Tools

Site Tools


action:Execute_a_Shell_Script

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
action:Execute_a_Shell_Script [2019/10/07 04:37]
peternlewis [Execute a Shell Script]
action:Execute_a_Shell_Script [2019/10/07 04:39]
peternlewis
Line 11: Line 11:
 If the script fails, the action will fail (v9.0+), potentially aborting the macro. If the script fails, the action will fail (v9.0+), potentially aborting the macro.
  
-If you want to use another language, or use any special kinds of shell-specific syntax, then you should specify the language using the `#!` at the front of the script.+The script is executed with the `sh` shell — if you want to use another language, or use any special kinds of shell-specific syntax, then you should specify the language using the `#!` at the front of the script.
  
 ==== Using Keyboard Maestro Variables ==== ==== Using Keyboard Maestro Variables ====
Line 186: Line 186:
 that is the script will search for tools in the `/usr/bin` directory, then in the `/bin` directory, then `/usr/sbin` and finally `/​sbin`. ​ Only tools installed by the system will be in these directories - any tools you have installed will almost certainly be elsewhere and so not found by default because: that is the script will search for tools in the `/usr/bin` directory, then in the `/bin` directory, then `/usr/sbin` and finally `/​sbin`. ​ Only tools installed by the system will be in these directories - any tools you have installed will almost certainly be elsewhere and so not found by default because:
  
-  * **shell scripts are executed in non-interactive mode** (see the INVOCATION section of the [bash man page](https://​developer.apple.com/​library/​mac/​documentation/​Darwin/​Reference/​ManPages/​man1/​bash.1.html)), the **only** path preset by default is the system path.+  * **shell scripts are executed in non-interactive mode** (see the INVOCATION section of the sh man page), the **only** path preset by default is the system path.
   * **Thus, your tools or files may not be automatically accessible.**   * **Thus, your tools or files may not be automatically accessible.**
   * The `$PATH` environment variable you may have set in Terminal is **not** used.   * The `$PATH` environment variable you may have set in Terminal is **not** used.
action/Execute_a_Shell_Script.txt · Last modified: 2023/09/22 04:39 by peternlewis