|
From: | Pierre Gaston |
Subject: | Re: ``shopt -s extglob'' and ``function @() { true; }'' |
Date: | Fri, 31 Mar 2017 08:46:10 +0300 |
There is a post on stackoverflow: http://stackoverflow.com/
questions/43117707/bashs- strange-behavior-on-a- function-named/ The problem:
bash-4.4# shopt -s extglob bash-4.4# function @() { echo foo; } bash-4.4# @() foo bash-4.4# declare -f @() () { echo foo } bash-4.4# bash-4.4# unset -f '@()' bash-4.4# bash-4.4# shopt -s nullglob bash-4.4# function @() { echo foo; } bash-4.4# @() bash-4.4# declare -f @() () { echo foo } bash-4.4#
So when
extglob
is on,@()
is handled as a glob pattern which makes sense. But the behavior aftershopt -s nullglob
indicates that the glob pattern@()
is not filename-expanded forfunction @()
. This looks kind of counter-intuitive to me.Bug or feature?
-clark
[Prev in Thread] | Current Thread | [Next in Thread] |