[Top][All Lists]

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

Re: Bug Using Brackets

From: Harry Lee
Subject: Re: Bug Using Brackets
Date: Thu, 7 Jan 2021 01:37:00 +0800

On Wed, Jan 06, 2021 at 17:16:26PM +0100, felix wrote:
> I use near same version, but can't reproduce:
>   $ echo $BASH_VERSION 
>   5.0.3(1)-release
>   $ echo [0-1]
>   [0-1]
> Please try this:
>   $ LANG=C bash -norc -c 'echo [0-1]'
It returns the same:

root@server:~# LANG=C bash -norc -c 'echo [0-1]'

Thanks for Oğuz, I found that there is a file name `1` in this directory. After 
I removed it, it shows normally:

root@server:~# rm 1
root@server:~# echo [0-1]

On server2 there is no such a file, so it just echo what I input.

This problem doesn't related to the version.

Here's the document: 

> After word splitting, unless the -f option has been set (see The Set Builtin 
> <https://www.gnu.org/software/bash/manual/bash.html#The-Set-Builtin>), Bash 
> scans each word for the characters ‘*’, ‘?’, and ‘[’. If one of these 
> characters appears, and is not quoted, then the word is regarded as a 
> pattern, and replaced with an alphabetically sorted list of filenames 
> matching the pattern (see Pattern Matching 
> <https://www.gnu.org/software/bash/manual/bash.html#Pattern-Matching>). If no 
> matching filenames are found, and the shell option nullglob is disabled, the 
> word is left unchanged. If the nullglob option is set, and no matches are 
> found, the word is removed. If the failglob shell option is set, and no 
> matches are found, an error message is printed and the command is not 
> executed. If the shell option nocaseglob is enabled, the match is performed 
> without regard to the case of alphabetic characters.

Harry Lee

reply via email to

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