Configuration Information :
Machine: x86_64
OS: linux-gnu
Compiler: gcc
Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64' -DCONF_OS        
TYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-redhat-linux-gnu' -DCONF_VENDOR 
='redhat' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL -DHAV        
E_CONFIG_H   -I.  -I. -I./include -I./lib -D_GNU_SOURCE -DRECYCLES_PIDS         
 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protec        
tor --param=ssp-buffer-size=4  -m64 -mtune=generic
uname output: Linux Fedora16-MSM 3.6.10-2.fc16.x86_64 #1 SMP Tue Dec 11         
18:55:03 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Machine Type: x86_64-redhat-linux-gnu

Bash Version: 4.2
Patch Level: 28
Release Status: release

Description:

I want to use the option [-e] of command cd. But I found I can't use. The 
problem as follows:
     $ cd -P -e Donwloads
     bash: cd: -e: invalid option
     cd: usage: cd [-L|[-P [-e]]] [dir]
     $ cd -Pe Downloads
     bash: cd: -e: invalid option
     cd: usage: cd [-L|[-P [-e]]] [dir]
     $ cd -Pe
     bash: cd: -e: invalid option
     cd: usage: cd [-L|[-P [-e]]] [dir]


and I read the source code of bash, it seems the function internal_getopt 
doesn't deal with option 'e'.
It's a bug or I didn't use it correctly? details as follows:

reset_internal_getopt ();
  while ((opt = internal_getopt (list, "LP")) != -1)
    {
      switch (opt)
        {
        case 'P':
          verbatim_pwd = pflag = 1;
          break;
        case 'L':
          verbatim_pwd = 0;
          break;
        default:
          builtin_usage ();
          return (EXECUTION_FAILURE);
        }
    }
  list = loptend;


Reply via email to