manpagez: man pages & more
info gdbm
Home | html | info | man

File: gdbm.info,  Node: variables,  Next: commands,  Up: shell

24.2.1 Shell Variables
----------------------

A number of 'gdbmtool' parameters is kept in its internal variables.  To
examine or modify variables, use the 'set' command (*note set::).

 -- gdbmtool variable: bool confirm
     Whether to ask for confirmation before certain destructive
     operations, such as truncating the existing database.

     Default is 'true'.

 -- gdbmtool variable: string delim1
     A string used to delimit fields of a structured datum on output
     (*note definitions::).

     Default is ',' (a comma).  This variable cannot be unset.

 -- gdbmtool variable: string delim2
     A string used to delimit array items when printing a structured
     datum (*note definitions::).

     Default is ',' (a comma).  This variable cannot be unset.

 -- gdbmtool variable: string errorexit
 -- gdbmtool variable: bool errorexit
     Comma-delimited list of 'GDBM' error codes which cause program
     termination.  Error codes are specified via their canonical names
     (*note Error codes::).  The 'GDBM_' prefix can be omitted.  Code
     name comparison is case-insensitive.  Each error code can
     optionally be prefixed with minus sign, to indicate that it should
     be removed from the resulting list, or with plus sign (which is
     allowed for symmetry).  A special code 'all' stands for all
     available error codes.

     In boolean context, the 'true' value is equivalent to 'all', and
     'false' (i.e.  variable unset) is equivalent to '-all'.

     This variable cannot be set from interactive sessions.

 -- gdbmtool variable: string errormask
 -- gdbmtool variable: bool errormask
     Comma-delimited list of 'GDBM' error codes which are masked, i.e.
     which won't trigger a diagnostic message if they occur.  The syntax
     is the same as described for 'errorexit'.

 -- gdbmtool variable: string pager
     The name and command line of the pager program to pipe output to.
     This program is used in interactive mode when the estimated number
     of output lines is greater then the number of lines on your screen.

     The default value is inherited from the environment variable
     'PAGER'.  Unsetting this variable disables paging.

 -- gdbmtool variable: string ps1
     Primary prompt string.  Its value can contain "conversion
     specifiers", consisting of the '%' character followed by another
     character.  These specifiers are expanded in the resulting prompt
     as follows:

     Sequence                      Expansion
     -------------------------------------------------------------------
     %f                            name of the current database file
     %p                            program invocation name
     %P                            package name ('GDBM')
     %v                            program version
     %_                            single space character
     %%                            %

     The default value is '%p>%_', i.e.  the program name, followed by a
     "greater than" sign, followed by a single space.

 -- gdbmtool variable: string ps2
     Secondary prompt.  See 'ps1' for a description of its value.  This
     prompt is displayed before reading the second and subsequent lines
     of a multi-line command.

     The default value is '%_>%_'.

 -- gdbmtool variable: bool timing
     When each command terminates, print an additional line listing
     times spent in that command.  The line is formatted as follows:

          [reorganize r=0.070481 u=0.000200 s=0.000033]

     Here, 'reorganize' is the name of the command that finished, the
     number after 'r=' is real time spent executing the command, the
     number after 'u=' is the user CPU time used and the number after
     's=' is the system CPU time used.

 -- gdbmtool variable: bool trace
     Enable command tracing.  This is similar to the shell '-t' option:
     before executing each command, 'gdbmtool' will print on standard
     error a line starting with a plus sign and followed by the command
     name and its arguments.

 -- gdbmtool variable: bool quiet
     Whether to display a welcome banner at startup.  To affect
     'gdbmtool', this variable should be set in a startup script file
     (*note startup files::).  *Note -q option::.

   The following variables control how the database is opened:

 -- gdbmtool variable: numeric blocksize
     Sets the block size.  *Note block_size: Open.  Unset by default.

 -- gdbmtool variable: numeric cachesize
     Sets the cache size.  *Note GDBM_SETCACHESIZE: Options.

     This variable affects the currently opened database immediately.
     It is also used by 'open' command.

     To enable automatic cache size selection, unset this variable.
     This is the default.

 -- gdbmtool variable: string filename
     Name of the database file.  If the 'open' command is called without
     argument (e.g.  called implicitly), this variable names the
     database file to open.  If 'open' is called with file name
     argument, upon successful opening of the database the 'filename'
     variable is initialized with its file name.

     This variable cannot be unset.

 -- gdbmtool variable: number fd
     File descriptor of the database file to open.  If this variable is
     set, its value must be an open file descriptor referring to a
     'GDBM' database file.  The 'open' command will use 'gdbm_fd_open'
     function to use this file (*note gdbm_fd_open::).  When this
     database is closed, the descriptor will be closed as well and the
     'fd' variable will be unset.

     See also the '-d' ('--db-descriptor') command line option in *note
     invocation::.

 -- gdbmtool variable: string format
     Defines the format in which new databases will be created.  Allowed
     values are:

     'standard'
          Databases will be created in standard format.  This is the
          format used by all 'GDBM' versions prior to 1.21.  This value
          is the default.

     'numsync'
          Extended format, best for crash-tolerant applications.  *Note
          Numsync::, for a discussion of this format.

 -- gdbmtool variable: string open
     Open mode.  The following values are allowed:

     newdb
          Truncate the database if it exists or create a new one.  Open
          it in read-write mode.

          Technically, this sets the 'GDBM_NEWDB' flag in call to
          'gdbm_open'.  *Note GDBM_NEWDB: Open.
     wrcreat
     rw
          Open the database in read-write mode.  Create it if it does
          not exist.  This is the default.

          Technically speaking, it sets the 'GDBM_WRCREAT' flag in call
          to 'gdbm_open'.  *Note GDBM_WRCREAT: Open.
     reader
     readonly
          Open the database in read-only mode.  Signal an error if it
          does not exist.

          This sets the 'GDBM_READER' flag (*note GDBM_READER: Open.).

     Attempting to set any other value or to unset this variable results
     in error.

 -- gdbmtool variable: number filemode
     File mode (in octal) for creating new database files and database
     dumps.

 -- gdbmtool variable: bool lock
     Lock the database.  This is the default.

     Setting this variable to false or unsetting it results in passing
     'GDBM_NOLOCK' flag to 'gdbm_open' (*note GDBM_NOLOCK: Open.).

 -- gdbmtool variable: bool mmap
     Use memory mapping.  This is the default.

     Setting this variable to false or unsetting it results in passing
     'GDBM_NOMMAP' flag to 'gdbm_open' (*note GDBM_NOMMAP: Open.).

 -- gdbmtool variable: bool sync
     Flush all database writes on disk immediately.  Default is false.
     *Note GDBM_SYNC: Open.

 -- gdbmtool variable: bool coalesce
     Enables the _coalesce_ mode, i.e.  merging of the freed blocks of
     'GDBM' files with entries in available block lists.  This provides
     for effective memory management at the cost of slight increase in
     execution time when calling 'gdbm_delete'.  *Note
     GDBM_SETCOALESCEBLKS: Options.

     This variable affects the currently opened database immediately and
     will be used by 'open' command, when it is invoked.

 -- gdbmtool variable: bool centfree
     Set to 'true', enables the use of central free block pool in newly
     opened databases.  *Note GDBM_SETCENTFREE: Options.

     This variable affects the currently opened database immediately and
     will be used by 'open' command, when it is invoked.

   The following commands are used to list or modify the variables:

 -- command verb: set [ASSIGNMENTS]
     When used without arguments, lists all variables and their values.
     Unset variables are shown after a comment sign ('#').  For string
     and numeric variables, values are shown after an equals sign.  For
     boolean variables, only the variable name is displayed if the
     variable is 'true'.  If it is 'false', its name is prefixed with
     'no'.

     For example:

          # blocksize is unset
          # cachesize is unset
          nocentfree
          nocoalesce
          confirm
          delim1=","
          delim2=","
          # fd is unset
          filemode=644
          filename="junk.gdbm"
          format="standard"
          lock
          mmap
          open="wrcreat"
          pager="less"
          ps1="%p>%_"
          ps2="%_>%_"
          # quiet is unset
          nosync

     If used with arguments, the 'set' command alters the specified
     variables.  In this case, arguments are variable assignments in the
     form 'NAME=VALUE'.  For boolean variables, the VALUE is interpreted
     as follows: if it is numeric, '0' stands for 'false', any non-zero
     value stands for 'true'.  Otherwise, the values 'on', 'true', and
     'yes' denote 'true', and 'off', 'false', 'no' stand for 'false'.
     Alternatively, only the name of a boolean variable can be supplied
     to set it to 'true', and its name prefixed with 'no' can be used to
     set it to false.  For example, the following command sets the
     'delim2' variable to ';' and the 'confirm' variable to 'false':

          set delim2=";" noconfirm

 -- command verb: unset VARIABLES
     Unsets the listed variables.  The effect of unsetting depends on
     the variable.  Unless explicitly described in the discussion of the
     variables above, unsetting a boolean variable is equivalent to
     setting it to 'false'.  Unsetting a string variable is equivalent
     to assigning it an empty string.

© manpagez.com 2000-2025
Individual documents may contain additional copyright information.