[PATCH] Ensure compatibility with tree 2.0.
Marius Bakke
marius at gnu.org
Sun Jan 16 18:44:16 UTC 2022
Johannes Altmanninger <aclopte at gmail.com> skriver:
> On Sun, Jan 16, 2022 at 05:50:28PM +0100, Marius Bakke wrote:
>> diff --git a/src/password-store.sh b/src/password-store.sh
>> index aef8d72..a6d8469 100755
>> --- a/src/password-store.sh
>> +++ b/src/password-store.sh
>> @@ -402,7 +402,13 @@ cmd_show() {
>> else
>> echo "${path%\/}"
>> fi
>> - tree -N -C -l --noreport "$PREFIX/$path" | tail -n +2 | sed -E 's/\.gpg(\x1B\[[0-9]+m)?( ->|$)/\1\2/g' # remove .gpg at end of line, but keep colors
>> + # 'tree' 2.0 and later writes JSON output on fd3 when present,
>> + # so allocate a temporary fd and redirect file descriptor 3 to
>> + # ensure we get the stdout in case fd 3 happens to exist.
>> + tree -N -C -l --noreport "$PREFIX/$path" {tmp_fd}>&3- \
>
> Looks good. I wonder if there is a difference between {varname}>&3- and 3>&-
> I wasn't familiar with Bash's {varname}>&3- syntax. It looked tricky at
> first; I guess it's just a contraction of {varname}>&3 3>&-
Actually 3>&- alone seems to work fine, and is nicer than the redirect
hack IMO. I was worried it would close FD3 for subsequent processes,
but it appears FD 3 is only made invisible for that one command.
v3 incoming, thanks!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 247 bytes
Desc: not available
URL: <http://lists.zx2c4.com/pipermail/password-store/attachments/20220116/4061c180/attachment.sig>
More information about the Password-Store
mailing list