Bug 39494 - Дополнение с переменной в строке работает только один раз
Summary: Дополнение с переменной в строке работает только один раз
Status: RESOLVED LATER
Alias: None
Product: Sisyphus
Classification: Development
Component: bash-completion (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: ildar
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-12-31 20:53 MSK by manowar@altlinux.org
Modified: 2021-02-23 07:35 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description manowar@altlinux.org 2020-12-31 20:53:22 MSK
Предположительно на bash-completion.

Система regular-mate-latest-x86_64.iso загружено 2020-12-31, bash-completion-2.9-alt1.

При нажатии TAB путь с переменной дополняется, но перед $ появляется \ и поэтому дальше дополнение не работает. Например:

mkdir -p $TMPDIR/123/456
ls $TMPDIR/<TAB> # превращается в
ls \$TMPDIR/123/
Comment 1 ildar 2021-01-01 22:51:19 MSK
по окончании каникул обновлю и вернёмся к этой проблеме
Comment 2 manowar@altlinux.org 2021-02-10 15:51:53 MSK
Ping...
Comment 3 ildar 2021-02-18 14:15:13 MSK
да, прошу прощения.
Собрал upstream git HEAD, проблема на месте. (http://git.altlinux.org/tasks/266572)
Прошу обратиться туда (https://github.com/scop/bash-completion), меня в копию (@ildar). Спасибо.
Comment 4 ildar 2021-02-18 14:17:17 MSK
http://git.altlinux.org/tasks/266573
Comment 5 manowar@altlinux.org 2021-02-18 14:21:58 MSK
Проблема в том, что я не уверен точно, в чём проблема. :-) Может в completion, а может быть и нет. Интуитивно мне кажется, что баг альт-специфичный, иначе бы его давно исправили.
Comment 6 ildar 2021-02-18 14:25:56 MSK
не думаю. Альтовые патчи касаются только отдельных команд: iptables, apt-get, aptitude, rpm.
Это явно в /etc/bash-completion
Comment 7 manowar@altlinux.org 2021-02-20 13:45:38 MSK
Вы были правы, я нашёл обсуждение: https://askubuntu.com/questions/70750/how-to-get-bash-to-stop-escaping-during-tab-completion .
Comment 8 manowar@altlinux.org 2021-02-20 13:52:26 MSK
И ещё вот это: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/778627 .

Багу скоро десять лет будет. Непонятно, как все с этим живут?
Comment 9 Anton Farygin 2021-02-20 14:17:53 MSK
тоже только что нарвался и удивлялся чего это оно не работает.
Comment 10 ildar 2021-02-20 18:35:33 MSK
(Ответ для manowar@altlinux.org на комментарий #7)
> Вы были правы, я нашёл обсуждение:
> https://askubuntu.com/questions/70750/how-to-get-bash-to-stop-escaping-
> during-tab-completion .

Супер!
> shopt -s direxpand 
решило проблему!
Comment 11 manowar@altlinux.org 2021-02-20 18:56:47 MSK
Вопрос в том, как теперь сделать это по умолчанию. И я пока не дочитал: всё-таки, это бага или фича?
Comment 12 Michael Shigorin 2021-02-20 20:37:33 MSK
Субъективно фичебага -- даже если фича, то работает как бага.
Comment 13 ildar 2021-02-23 07:35:24 MSK
(Ответ для manowar@altlinux.org на комментарий #11)
> Вопрос в том, как теперь сделать это по умолчанию. И я пока не дочитал:
> всё-таки, это бага или фича?

Если кто-то изучил вопрос и признал опцию `shopt -s direxpand` безопасной, можно подумать о том, чтобы включить её для всех пользователей. Вижу два варианта:
1. в пакет bash (тут у меня некоторый скепсис :-))
2. Таки добавить в пакет bash-completion