bug-bash
[Top][All Lists]
Advanced

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

Re: Bash - various feature requests


From: William Park
Subject: Re: Bash - various feature requests
Date: Fri, 29 Dec 2006 18:05:49 -0500
User-agent: Mutt/1.4.2.2i

On Wed, Dec 27, 2006 at 11:03:31PM +0000, Richard Neill wrote:
> 1)substr support for a negative length argument.
> For example,
>   stringZ=abcdef
>   echo ${stringZ:2:-1}  #prints cde
> 
> i.e. ${string:x:y}
>   returns the string, from start position x for y characters.
>   but, if x is negative, start from the right hand side
>   and if y is negative, print up to the end, -y.
> 
> This would work the same way as PHP, and be extremely useful for, say, 
> removing an extension from a filename.
> http://uk.php.net/manual/en/function.substr.php

Python has it too :-)


> 5)An enhancement to read/readline, such that one can specify the initial 
> value with which the buffer is filled.
> 
> Currently, we can do:
> 
>   read -ep 'Enter your name: ' NAME
> 
> and I might type "Richad Neill".      #Note the deliberate typo.
> 
> If the script recognises this as invalid, the best it can do is:
> 
>   echo "Name not recognised"
>   read -ep 'Re-enter your name: ' NAME
> 
> and the user must retype it in full.
> I'd like to propose adding an "-i" option for initial value:
> 
>   echo "Name not recognised"
>   read -ep "Please correct your name: " -i "$NAME"
> 
> The shell prints:
>   Please correct your name: Richad Neill
> where the latter part is now editable.
> 
> Thus the really nice editing features of readline can be used for 
> updating values already stored in variables. This is extremely useful 
> when the value is quite long.

Is this the same as
    read -ep "Please correct your name: $NAME" NAME
?

-- 
William Park <opengeometry@yahoo.ca>, Toronto, Canada
ThinFlash: Linux thin-client on USB key (flash) drive
           http://home.eol.ca/~parkw/thinflash.html
BashDiff: Super Bash shell
          http://freshmeat.net/projects/bashdiff/




reply via email to

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