1 # Find a POSIX-conforming shell.
3 # Copyright (C) 2007-2008 Free Software Foundation, Inc.
5 # This file is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
9 # Written by Paul Eggert.
11 # If a POSIX-conforming shell can be found, set POSIX_SHELL and
12 # PREFERABLY_POSIX_SHELL to it. If not, set POSIX_SHELL to the
13 # empty string and PREFERABLY_POSIX_SHELL to '/bin/sh'.
15 AC_DEFUN([gl_POSIX_SHELL],
17 AC_CACHE_CHECK([for a shell that conforms to POSIX], [gl_cv_posix_shell],
18 [gl_test_posix_shell_script='
34 subshell_umask_sanity () {
35 (umask 22; (umask 0); test $(umask) -eq 22)
37 test "[$](echo foo)" = foo &&
42 (set x && func_ret_success y && test x = "[$]1") &&
45 for gl_cv_posix_shell in \
46 "$CONFIG_SHELL" "$SHELL" /bin/sh /bin/bash /bin/ksh /bin/sh5 no; do
47 case $gl_cv_posix_shell in
49 "$gl_cv_posix_shell" -c "$gl_test_posix_shell_script" 2>/dev/null \
54 if test "$gl_cv_posix_shell" != no; then
55 POSIX_SHELL=$gl_cv_posix_shell
56 PREFERABLY_POSIX_SHELL=$POSIX_SHELL
59 PREFERABLY_POSIX_SHELL=/bin/sh
61 AC_SUBST([POSIX_SHELL])
62 AC_SUBST([PREFERABLY_POSIX_SHELL])