atf-sh(1)

atf-sh1

Interpreter for shell-based test programs

Usage

atf-sh [-s shell] script

Overview

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:

-s shell

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

Environment

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.

Examples

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 single parameter:

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

Releases

3 releases since Debian 11 (Bullseye); the text changed 1 time.

  1. 11–12
  2. 13

From atf-sh 0.22-3 in Debian 13 (Trixie). Parsed by carta from the page's mdoc source.