shint filter

← Back to Filter List


↓ examples

Runs bash. use to run bash scripts.

Aliases for this filter

  • shint
  • bashint

Converts from file formats:

  • .txt
  • .sh

To file formats:

  • .sh-session

Available settings:

add-new-filesBoolean or list of extensions/patterns to match.False
added-in-versionDexy version when this filter was first available.
additional-doc-filtersFilters to apply to additional documents created as side effects.{}
additional-doc-settingsSettings to apply to additional documents created as side effects.{}
allow-match-prompt-without-newlineWhether to require a newline before prompt.False
argsArguments to be passed to the executable.
check-return-codeWhether to look for nonzero return code.True
clargsArguments to be passed to the executable (same as 'args').
command-stringThe full command string.%(prog)s %(args)s "%(script_file)s" %(scriptargs)s "%(output_file)s"
data-typeAlias of custom data class to use to store filter output.sectioned
envDictionary of key-value pairs to be added to environment for runs.{}
examplesTemplates which should be used as examples for this filter.['bash']
exclude-add-new-filesList of patterns to skip even if they match add-new-files.[]
exclude-new-files-from-dirList of directories to skip when adding new files.[]
executableThe executable to be runbash --norc -i
extFile extension to output.None
extension-mapDictionary mapping input extensions to default output extensions.None
helpHelp string for filter, if not already specified as a class docstring.Runs bash. use to run bash scripts.
initial-promptThe initial prompt the REPL will display.\d*[#$]
input-extensionsList of extensions which this filter can accept as input.['.txt', '.sh']
keep-originalsWhether, if additional-doc-filters are specified, the original unmodified docs should also be added.False
line-endingThe line ending returned by REPL.
make-dummy-outputWhether to make a dummy output file when one is not generated and add-new-files is True.False
mkdirA directory which should be created in working dir.None
mkdirsA list of directories which should be created in working dir.[]
nodocWhether filter should be excluded from documentation.False
outputWhether to output results of this filter by default by reporters such as 'output' or 'website'.False
output-extensionsList of extensions which this filter can produce as output.['.sh-session']
override-workspace-exclude-filtersIf True, document will be populated to other workspaces ignoring workspace-exclude-filters.False
path-extensionsstrings to extend path with[]
preserve-prior-data-classWhether output data class should be set to match the input data class.False
promptSingle prompt to match exactly.None
prompt-regexA prompt regex to match.\d*[#$]
promptsList of possible prompts to match exactly.['>>>', '...']
record-varsWhether to add code that will automatically record values of variables.False
require-outputShould dexy raise an exception if no output is produced by this filter?True
save-vars-to-json-cmdCommand to be run to save variables to a JSON file.None
scriptargsArguments to be passed to the executable.
send-line-endingLine ending to transmit at the end of each input line.
strip-regexRegex to stripNone
tagsTags which describe the filter.['code', 'repl', 'shell']
trim-promptThe closing prompt to be trimmed off.\d*[#$]
use-wdWhether to use a custom working directory when running filter.True
variablesA dictionary of variable names and values to make available to this filter.{}
varsA dictionary of variable names and values to make available to this filter.{}
version-commandCommand to call to return version of installed software.None
windows-version-commandCommand to call on windows to return version of installed software.None
workspace-exclude-filtersFilters whose output should be excluded from workspace.['pyg']
workspace-includesIf set to a list of filenames or extensions, only these will be populated to working dir.None
write-stderr-to-stdoutShould stderr be piped to stdout?True

Bash Examples

Here is a simple bash script:


The bash filter runs scripts in bash and returns the output:

- script.sh|bash

Here is the output:

Tue Mar 31 22:11:20 UTC 2020

The sh filter runs scripts in sh (dash) and returns the output:

- script.sh|sh

Here is the output:

Tue Mar 31 22:11:20 UTC 2020

The shint filter runs scripts in a bash REPL, so you can see both input and output:

- script.sh|shint

Here is the output:

$ date
Tue Mar 31 22:11:21 UTC 2020
$ pwd

Normally, bash scripts run in a temporary working directory created and populated especially for the filter being run, but if you want to run a bash script which operates on your actual project directory, you can use the use-wd setting like this (this works on any of the bash-related filters):

    - whereami.sh|shint:
        - shint: { 'use-wd' : False }

$ pwd

The default behavior of running in a working directory is intended to allow you to work with dependencies which have already been processed by dexy, and it also is intended to protect your working directory from side effects of running your bash script.

Content © 2020 Dr. Ana Nelson | Site Design © Copyright 2011 Andre Gagnon | All Rights Reserved.