bug-bash
[Top][All Lists]
Advanced

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

Re: [feature request] parameter transformation to safely add strings to


From: Emanuele Torre
Subject: Re: [feature request] parameter transformation to safely add strings to PS1, &c.
Date: Sun, 22 Aug 2021 23:56:54 +0200

Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com> wrote:
> and renoving the beginning and ending ' s

even if you remove the first and last ':
1) that is 3 PEs as the solution i described (${a//\\/\\\\}
${a//\`/\\\`} ${a//$/\\$} vs ${a@Q} ${a#\'} ${a%\'} )
2) it doesn't actually accomplish anything:

  ~ --${@Q}-> '~' --${#\'}-> ~' --${%\'}-> ~

On Sun, 22 Aug 2021 at 23:14, Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com> wrote:
>
> what about @Q
> and renoving the beginning and ending ' s
>
>
> On Sun, Aug 22, 2021, 23:13 Emanuele Torre <torreemanuele6@gmail.com> wrote:
>>
>> It would be nice to have a parameter transformation (e.g. "${par@p}")
>> that expands $par to a string that will not be expanded by PS1, PS2, &c.
>>
>> example:
>>
>>   tmp_var=$(blabla) # this variable will not exist when PS1 is expanded
>>   PS1="blabla ${tmp_var@p} blabla"
>>
>> I think a valid way to achieve the same behaviour in the currenct
>> version of bash:
>>
>>   tmp_var=$(blabla)
>>   tmp_var=${tmp_var//\\/\\\\}
>>   tmp_var=${tmp_var//\`/\\\`}
>>   tmp_var=${tmp_var//$/\\$}
>>   PS1="blabla $tmp_var blabla"
>>
>> But a parameter transformation would be nicer.
>>
>> This parameter transformation should also make sure to not cause an
>> expansion when concatenated.
>>
>>   var='$'
>>   printf '%s\n' "${var@p}" # should not expand to `$'.
>>   PS1="${var@P}(date)" # because this should expand to `$(date)'
>>                        # and not to the output of `date'.
>>
>> Cheers,
>>   emanuele6
>>



reply via email to

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