Re: echo -n

2017-02-05 Thread Jyoti B Tenginakai

Thanks you all,

Again I see that this printf we can use. But there are some scenarios where
the o/p does not exactly match with echo. So  still its good to have a way
to pirnt -n /-e/-E with echo. Can this be considered as bug and can this be
fixed?

Thanks & Regards
--Jyoti


Jyoti Tenginakai
AIX-Security Development Team
IBM India Software Lab
EGD  'D' Block Sixth Floor
Off Indiranagar Koramangala Intermediate Ring Road
Bangaluru - 560071
ph: 4177
extn: 7
Mail:jyoti@in.ibm.com





From:   Chet Ramey <chet.ra...@case.edu>
To:     Jyoti B Tenginakai <jyoti@in.ibm.com>, Pierre Gaston
<pierre.gas...@gmail.com>
Cc: chet.ra...@case.edu, Sangamesh Mallayya
<sangamesh.sw...@in.ibm.com>, "bug-bash@gnu.org"
<bug-bash@gnu.org>
Date:   02/02/2017 11:21 PM
Subject:    Re: echo -n



On 2/2/17 11:56 AM, Jyoti B Tenginakai wrote:
> HI All,
>
> Thanks for your quick response.
>
> I have tried using the printf instead of echo. But the issue with printf
is
> , the behaviour is not consistent with what echo prints for all the
inputs
> i.e.
> In my script I am generically using echo for all the options. If I have
to
> use printf instead of it should behave consistently .
> if echo * is passed to bash shell, the o/p shows the \t seperated values
> whereas with printf '%s' *, it won't display space separated output.
Again
> printf '%s ' # behaviour is different from what echo # shows

echo()
{
 builtin printf "%s\n" "$*"
}

You can make this more elaborate if you want.

--
``The lyf so short, the craft so long to lerne.'' - Chaucer
  ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRUc...@case.edu
http://cnswww.cns.cwru.edu/~chet/




Re: echo -n

2017-02-02 Thread Jyoti B Tenginakai

HI All,

Thanks for your quick response.

I have tried using the printf instead of echo. But the issue with printf
is , the behaviour is not consistent with what echo prints for all the
inputs i.e.
In my script I am generically using echo for all the options. If I have to
use printf instead of it should behave consistently .
if echo * is passed to bash shell, the o/p shows the \t seperated values
whereas with printf '%s'  *, it won't display space separated output. Again
printf '%s ' # behaviour is different from what echo # shows

Thanks & Regards
--Jyoti



Jyoti Tenginakai
AIX-Security Development Team
IBM India Software Lab
EGD  'D' Block Sixth Floor
Off Indiranagar Koramangala Intermediate Ring Road
Bangaluru - 560071
ph: 4177
extn: 7
Mail:jyoti@in.ibm.com





From:   Pierre Gaston <pierre.gas...@gmail.com>
To: Sangamesh Mallayya <sangamesh.sw...@in.ibm.com>
Cc: "bug-bash@gnu.org" <bug-bash@gnu.org>, Jyoti B Tenginakai
<jyoti@in.ibm.com>
Date:   02/02/2017 08:45 PM
Subject:Re: echo -n





On Thu, Feb 2, 2017 at 11:02 AM, Sangamesh Mallayya <
sangamesh.sw...@in.ibm.com> wrote:
  Hi,

  description:
  in bash echo -n , echo -e , echo -E has a special meaning. But we do not
  have a way in bash shell if we want to print
  -n , -e and -E using echo command. Other shells supports printing of
  -n/-e/-E options using echo command.

  For example

  with ksh
  # echo -n
  -n
  #

  with bash
  # echo -n

  #

  Please let us know if this a bug or do we have any other option to print
  -n ?

  Here is the environment details.

  version: bash 4.3
  Hardware and Operating System P7 AIX
  Compiled with AIX xlc

  Thanks,
  -Sangamesh




Not a bug, echo is not portable and posix recommends using printf e.g.

printf '%s\n' -n