Bug 978967 - ksh noglob disables braceexpand variable substitution
ksh noglob disables braceexpand variable substitution
Status: CLOSED NOTABUG
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: ksh (Show other bugs)
6.2
x86_64 Linux
unspecified Severity medium
: rc
: ---
Assigned To: Michal Hlavinka
BaseOS QE - Apps
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-06-27 07:56 EDT by Konstantin Gremliza
Modified: 2013-07-09 10:31 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-07-09 10:31:32 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Konstantin Gremliza 2013-06-27 07:56:22 EDT
Description of problem:
If a variable contains special characters for brace group expansion and the noglob switch is enabled, brace group expansion does not work allthough the bracegroup switch is enabled.


Version-Release number of selected component (if applicable):
Name        : ksh                          Relocations: (not relocatable)
Version     : 20100621                          Vendor: CentOS
Release     : 12.el6_2.1                    Build Date: Fri 06 Jan 2012 04:22:02 PM CET
Install Date: Tue 12 Jun 2012 02:56:09 PM CEST      Build Host: c6b18n1.dev.centos.org
Group       : System Environment/Shells     Source RPM: ksh-20100621-12.el6_2.1.src.rpm
Size        : 1548708                          License: CPL
Signature   : RSA/SHA1, Fri 06 Jan 2012 06:11:35 PM CET, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://www.kornshell.com/
Summary     : The Original ATT Korn Shell
Description :
KSH-93 is the most recent version of the KornShell by David Korn of
AT&T Bell Laboratories.
KornShell is a shell programming language, which is upward compatible
with "sh" (the Bourne Shell).

How reproducible:
ksh> set -o
Current option settings
allexport                off
bgnice                   on
braceexpand              on
clobber                  on
emacs                    off
errexit                  off
exec                     on
glob                     on
globstar                 off
gmacs                    off
histexpand               off
ignoreeof                off
interactive              on
keyword                  off
log                      on
login_shell              off
markdirs                 off
monitor                  on
multiline                off
notify                   off
pipefail                 off
privileged               off
rc                       on
restricted               off
showme                   off
trackall                 off
unset                    on
verbose                  off
vi                       off
viraw                    on
xtrace                   off

Current option settings

allexport                off
bgnice                   on
braceexpand              on
clobber                  on
emacs                    off
errexit                  off
exec                     on
glob                     off
globstar                 off
gmacs                    off
histexpand               off
ignoreeof                off
interactive              on
keyword                  off
log                      on
login_shell              off
markdirs                 off
monitor                  on
multiline                off
notify                   off
pipefail                 off
privileged               off
rc                       on
restricted               off
showme                   off
trackall                 off
unset                    on
verbose                  off
vi                       off
viraw                    on
xtrace                   off

ksh> a="{foo,bar,blafasel}.c"
ksh> print $a
foo.c bar.c blafasel.c
ksh> set -o noglob
ksh> print $a
{foo,bar,blafasel}.c

ksh> set -o
Current option settings
allexport                off
bgnice                   on
braceexpand              on
clobber                  on
emacs                    off
errexit                  off
exec                     on
glob                     off
globstar                 off
gmacs                    off
histexpand               off
ignoreeof                off
interactive              on
keyword                  off
log                      on
login_shell              off
markdirs                 off
monitor                  on
multiline                off
notify                   off
pipefail                 off
privileged               off
rc                       on
restricted               off
showme                   off
trackall                 off
unset                    on
verbose                  off
vi                       off
viraw                    on
xtrace                   off




Steps to Reproduce:
1.
2.
3.

Actual results:
{foo,bar,blafasel}.c

Expected results:
foo.c bar.c blafasel.c

Additional info:
Comment 2 Michal Hlavinka 2013-07-09 10:31:32 EDT
Discussed with upstream and this is expected behavior:

> braceexpand is a part of globbing so that turning off globbing
> will also turn off brace expansion.

Note You need to log in before you can comment on or make changes to this bug.