READONLY(1P) - phpMan

READONLY(1P)               POSIX Programmer's Manual              READONLY(1P)
PROLOG
       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
       implementation of this interface may differ (consult the  corresponding
       Linux  manual page for details of Linux behavior), or the interface may
       not be implemented on Linux.
NAME
       readonly -- set the readonly attribute for variables
SYNOPSIS
       readonly name[=word]...
       readonly -p
DESCRIPTION
       The variables whose names are specified shall  be  given  the  readonly
       attribute.  The  values of variables with the readonly attribute cannot
       be changed by subsequent assignment, nor can those variables  be  unset
       by  the  unset utility. If the name of a variable is followed by =word,
       then the value of that variable shall be set to word.
       The readonly special built-in shall support the Base Definitions volume
       of POSIX.1-2008, Section 12.2, Utility Syntax Guidelines.
       When  -p is specified, readonly writes to the standard output the names
       and values of all read-only variables, in the following format:
           "readonly %s=%s\n", <name>, <value>
       if name is set, and
           "readonly %s\n", <name>
       if name is unset.
       The shell shall format the output, including the proper use of quoting,
       so  that  it  is  suitable  for  reinput  to the shell as commands that
       achieve the same value and  readonly  attribute-setting  results  in  a
       shell execution environment in which:
        1. Variables  with values at the time they were output do not have the
           readonly attribute set.
        2. Variables that were unset at the time they were output do not  have
           a  value  at  the  time at which the saved output is reinput to the
           shell.
       When no arguments are given, the results are unspecified.
OPTIONS
       See the DESCRIPTION.
OPERANDS
       See the DESCRIPTION.
STDIN
       Not used.
INPUT FILES
       None.
ENVIRONMENT VARIABLES
       None.
ASYNCHRONOUS EVENTS
       Default.
STDOUT
       See the DESCRIPTION.
STDERR
       The standard error shall be used only for diagnostic messages.
OUTPUT FILES
       None.
EXTENDED DESCRIPTION
       None.
EXIT STATUS
       Zero.
CONSEQUENCES OF ERRORS
       Default.
       The following sections are informative.
APPLICATION USAGE
       None.
EXAMPLES
       readonly HOME PWD
RATIONALE
       Some historical shells preserve the readonly attribute across  separate
       invocations. This volume of POSIX.1-2008 allows this behavior, but does
       not require it.
       The -p option allows portable access to the values that  can  be  saved
       and  then later restored using, for example, a dot script. Also see the
       RATIONALE for export for a description of the no-argument and -p output
       cases and a related example.
       Read-only functions were considered, but they were omitted as not being
       historical practice or particularly useful. Furthermore, functions must
       not  be read-only across invocations to preclude ``spoofing'' (spoofing
       is the term for the practice of creating a program  that  acts  like  a
       well-known utility with the intent of subverting the real intent of the
       user) of administrative or  security-relevant  (or  security-conscious)
       shell scripts.
FUTURE DIRECTIONS
       None.
SEE ALSO
       Section 2.14, Special Built-In Utilities
       The Base Definitions volume of POSIX.1-2008, Section 12.2, Utility Syn-
       tax Guidelines
COPYRIGHT
       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),  The  Open  Group  Base
       Specifications Issue 7, Copyright (C) 2013 by the Institute of Electri-
       cal and Electronics Engineers,  Inc  and  The  Open  Group.   (This  is
       POSIX.1-2008  with  the  2013  Technical Corrigendum 1 applied.) In the
       event of any discrepancy between this version and the original IEEE and
       The  Open Group Standard, the original IEEE and The Open Group Standard
       is the referee document. The original Standard can be  obtained  online
       at http://www.unix.org/online.html .
       Any  typographical  or  formatting  errors that appear in this page are
       most likely to have been introduced during the conversion of the source
       files  to  man page format. To report such errors, see https://www.ker-
       nel.org/doc/man-pages/reporting_bugs.html .
IEEE/The Open Group                  2013                         READONLY(1P)