How can I add shells to the list in Run Shell Script in the Automator?

Solution 1:

The list of these shells in this action come from this PLIST file --> "/System/Library/Automator/Run Shell Script.action/Contents/Resources/Shells.plist"

Edit this file to add others shells (need administrator's password)

    <key>/Users/iain/Library/Frameworks/zsh/Programs/zsh</key>
<dict>
    <key>args</key>
    <array>
        <string>-c</string>
        <string>%</string>
        <string>-</string>
    </array>
    <key>script</key>
    <array>
        <string>cat</string>
        <string>for f in "$@"&#10;do&#10;&#09;echo "$f"&#10;done</string>
    </array>
</dict>
<key>/opt/rubies/ruby-2.1.2/</key>
<dict>
    <key>args</key>
    <array>
        <string>-e</string>
        <string>%</string>
        <string>--</string>
    </array>
    <key>script</key>
    <array>
        <string>ARGF.each do |f|&#10;&#09;puts f&#10;end</string>
        <string>ARGV.each do |f|&#10;&#09;puts f&#10;end</string>
    </array>
</dict>