DOKK / manpages / debian 12 / atf-sh / atf-sh.1.en
ATF-SH(1) General Commands Manual ATF-SH(1)

atf-sh [-s shell] — interpreter for shell-based test programs

atf-sh script

atf-sh is an interpreter that runs the test program given in script after loading the atf-sh(3) library.

atf-sh is not a real interpreter though: it is just a wrapper around the system-wide shell defined by ATF_SHELL. atf-sh executes the interpreter, loads the atf-sh(3) library and then runs the script. You must consider atf-sh to be a POSIX shell by default and thus should not use any non-standard extensions.

The following options are available:

shell
Specifies the shell to use instead of the value provided by ATF_SHELL.

ATF_LIBEXECDIR
Overrides the builtin directory where atf-sh is located. Should not be overridden other than for testing purposes.
ATF_PKGDATADIR
Overrides the builtin directory where libatf-sh.subr is located. Should not be overridden other than for testing purposes.
ATF_SHELL
Path to the system shell to be used in the generated scripts. Scripts must not rely on this variable being set to select a specific interpreter.

Scripts using atf-sh(3) should start with:

#! /usr/bin/env atf-sh

Alternatively, if you want to explicitly choose a shell interpreter, you cannot rely on env(1) to find atf-sh. Instead, you have to hardcode the path to atf-sh in the script and then use the -s option afterwards as a :

#! /path/to/bin/atf-sh -s/bin/bash

atf-sh(3)

September 27, 2014 Debian