bug-bash
[Top][All Lists]
Advanced

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

Re: bash cannot print string "^-e"


From: naOYA-OYAma
Subject: Re: bash cannot print string "^-e"
Date: Sat, 12 Jul 2003 01:22:15 +0900

Hello Justin

I am sorry to have transmitted from the contents understood accidentally.

I want to print  "-e" and "-n" by builtin echo.
## regex : /^-[enE]$/

To make it output by the echo command, it can do nothing but be assumed, 
"echo -e \\055\\145" and "echo -e \\055\\156". 

In the rm command, there is "--" option. 
I want you to take this to the echo command. 

Thank you.

On Fri, 11 Jul 2003 11:17:30 -0400 (EDT)
Justin Piszcz <jpiszcz@lucidpixels.com> wrote:

> war@war:~$ echo '-e -n'
> -e -n
> war@war:~$
> 
> 
> On Sat, 12 Jul 2003, naOYA-OYAma wrote:
> 
> > Configuration Information [Automatically generated, do not change]:
> > Machine: i386
> > OS: linux-gnu
> > Compiler: gcc -static
> > Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='i386' 
> > -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i386-turbo-linux-gnu' 
> > -DCONF_VENDOR='turbo' -DSHELL -DHAVE_CONFIG_H 
> > -DNON_INTERACTIVE_LOGIN_SHELLS -D_FILE_OFFSET_BITS=64  -I.  -I. -I./include 
> > -I./lib -I/usr/include -O2 -march=i586
> > uname output: Linux unicorn.minaminoshima.org 2.4.18-8usb #4 木 12月 19 
> > 00:26:27 JST 2002 i686 unknown
> > Machine Type: i386-turbo-linux-gnu
> >
> > Bash Version: 2.04
> > Patch Level: 0
> > Release Status: release
> >
> > Description:
> > builtin command of echo cannot print "-e" string.
> > echo cannot print option string "-e, -n".
> >
> > Repeat-By:
> > $ echo -e
> >
> > $
> > $ echo -e -e
> >
> > $
> > $ echo -- -e
> > -- -e
> > $
> > $ echo -e \\055\\145
> > -e
> >
> >
> > Fix:
> > i make a patch for bash-2.05.
> > this patch adds an option  like -- of rm(1).
> >
> > --8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--
> > --- bash-2.05/builtins/echo.def     Fri Dec 17 21:12:40 1999
> > +++ bash-2.05/builtins/echo.def.new Mon Aug 27 22:26:41 2001
> > @@ -62,9 +62,9 @@
> >  $END
> >
> >  #if defined (V9_ECHO)
> > -#  define VALID_ECHO_OPTIONS "neE"
> > +#  define VALID_ECHO_OPTIONS "neE-"
> >  #else /* !V9_ECHO */
> > -#  define VALID_ECHO_OPTIONS "n"
> > +#  define VALID_ECHO_OPTIONS "n-"
> >  #endif /* !V9_ECHO */
> >
> >  /* System V machines already have a /bin/sh with a v9 behaviour.  We
> > @@ -85,11 +85,12 @@
> >  echo_builtin (list)
> >       WORD_LIST *list;
> >  {
> > -  int display_return, do_v9, i, len;
> > +  int display_return, do_v9, i, len, ignore_option;
> >    char *temp, *s;
> >
> >    do_v9 = xpg_echo;
> >    display_return = 1;
> > +  ignore_option = 1;
> >
> >    for (; list && (temp = list->word->word) && *temp == '-'; list = 
> > list->next)
> >      {
> > @@ -114,6 +115,9 @@
> >     {
> >       switch (i)
> >         {
> > +       case '-':
> > +         ignore_option = 0;
> > +         goto just_echo;
> >         case 'n':
> >           display_return = 0;
> >           break;
> > @@ -143,10 +147,10 @@
> >       if (do_v9)
> >         {
> >           for (s = temp; len > 0; len--)
> > -           putchar (*s++);
> > +           ignore_option ? putchar (*s++):0;
> >         }
> >       else
> > -       printf ("%s", temp);
> > +       ignore_option ? printf ("%s", temp):0;
> >  #if defined (SunOS5)
> >       fflush (stdout);      /* Fix for bug in SunOS 5.5 printf(3) */
> >  #endif
> > @@ -159,8 +163,11 @@
> >       display_return = 0;
> >       break;
> >     }
> > -      if (list)
> > +      if (list&&ignore_option)
> >     putchar(' ');
> > +      else
> > +   ignore_option = 1;
> > +
> >      }
> >
> >    if (display_return)
> > --8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--
> >
> >
> >
> > _______________________________________________
> > Bug-bash mailing list
> > Bug-bash@gnu.org
> > http://mail.gnu.org/mailman/listinfo/bug-bash





reply via email to

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