bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Saving/restoring of posix option unsets expand_aliases


From: Ulrich Mueller
Subject: Saving/restoring of posix option unsets expand_aliases
Date: Sun, 24 Nov 2019 13:35:20 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

Configuration Information [Automatically generated, do not change]:
Machine: x86_64
OS: linux-gnu
Compiler: x86_64-pc-linux-gnu-gcc
Compilation CFLAGS: -march=native -ggdb -O2 -pipe -Wno-parentheses 
-Wno-format-security
uname output: Linux themis 4.14.154-gentoo #1 SMP Sat Nov 16 15:00:00 CET 2019 
x86_64 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz GenuineIntel GNU/Linux
Machine Type: x86_64-pc-linux-gnu

Bash Version: 5.0
Patch Level: 11
Release Status: release

Description:
In a non-interactive non-posix-mode shell, saving the output of
"shopt -p -o" and restoring it will unset the expand_aliases option.

Repeat-By:
Execute the following script:

   #!/bin/bash
   shopt -s expand_aliases
   save=$(shopt -p -o)
   shopt -p expand_aliases
   eval "${save}"
   shopt -p expand_aliases

Here, its output is:

   shopt -s expand_aliases
   shopt -u expand_aliases

AFAICS, this is caused by eval unsetting the "posix" option (even though
it wasn't set before). Function set_posix_mode calls sv_strict_posix,
which in turn calls posix_initialize, which sets expand_aliases and
other options.

Expected behavior: Saving and restoring of options shouldn't change
other options by side effect.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]