Bash auto complete для переменных среды [закрыто]

В этот момент вы можете установить Gnome 3.18 на Ubuntu Gnome 15.10 Wily по PPA ppa:gnome3-team/gnome3-staging:

sudo apt-add-repository ppa:gnome3-team/gnome3-staging
23
задан 11 May 2011 в 02:39

36 ответов

Эта ошибка была введена в bash 4.2. Здесь есть длинная тема:

http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html

Короче говоря, Чет Рейме, разработчик bash, не знает, как это сделать.

12
ответ дан 25 July 2018 в 21:57
  • 1
    Есть ли способ вернуться к bash 4.1? – nilchat 12 May 2011 в 09:37
  • 2
    Исправлено исправление: Чет добавил "direxpand" shopt для восстановления старого поведения. Это еще не в Oneiric. – Nelson 29 January 2012 в 06:02
  • 3
    Удивительно, что так мало людей жаловались на это. Это большое изменение в том, как Баш работал в течение ряда лет. – Scott C Wilson 13 February 2012 в 00:00

Обходной путь, предложенный в http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html, это:

использовать <Tab> для автоматического завершения переменная среды st вы в командной строке cd $MYVAR нажмите <Esc> + <Ctrl>-E, чтобы развернуть текущую командную строку, т. е. замените $MYVAR на ее значение, путь добавит /, а затем наслаждайтесь <Tab> автозаполнением, как обычно

Предполагается, что вы находитесь в режиме emacs (set -o emacs) и bash_completion настроены для cd разумно для cd (например, complete -o nospace -F _cd cd).

К сожалению, это не работает в vi (set -o vi), потому что расширение командной строки недоступно.

6
ответ дан 25 July 2018 в 21:57

После ввода переменной оболочки

cd $SCRIPT/

введите Ctrl-Alt-E. Это расширяет переменную

cd /home/user/script/

. Это работает с EDITOR = vi в Fedora 16.

1
ответ дан 25 July 2018 в 21:57

Чтобы вернуть прежнее поведение, используйте команду

shopt -s direxpand

или включите ее в свой .bashrc

Если вы используете тот же .bashrc с разными версиями bash , используйте

if ((BASH_VERSINFO[0] >= 4)) && ((BASH_VERSINFO[1] >= 2)) then shopt -s direxpand fi
4
ответ дан 25 July 2018 в 21:57
  • 1
    Это испытание завершится неудачно для bash 5.0 и 5.1. – Keith Thompson 21 January 2014 в 05:31

Эта ошибка была введена в bash 4.2. Здесь есть длинная тема:

http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html

Короче говоря, Чет Рейме, разработчик bash, не знает, как это сделать.

12
ответ дан 26 July 2018 в 18:01
  • 1
    Есть ли способ вернуться к bash 4.1? – nilchat 12 May 2011 в 09:37
  • 2
    Исправлено исправление: Чет добавил "direxpand" shopt для восстановления старого поведения. Это еще не в Oneiric. – Nelson 29 January 2012 в 06:02
  • 3
    Удивительно, что так мало людей жаловались на это. Это большое изменение в том, как Баш работал в течение ряда лет. – Scott C Wilson 13 February 2012 в 00:00

Обходной путь, предложенный в http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html, это:

использовать <Tab> для автоматического завершения переменная среды st вы в командной строке cd $MYVAR нажмите <Esc> + <Ctrl>-E, чтобы развернуть текущую командную строку, т. е. замените $MYVAR на ее значение, путь добавит /, а затем наслаждайтесь <Tab> автозаполнением, как обычно

Предполагается, что вы находитесь в режиме emacs (set -o emacs) и bash_completion настроены для cd разумно для cd (например, complete -o nospace -F _cd cd).

К сожалению, это не работает в vi (set -o vi), потому что расширение командной строки недоступно.

6
ответ дан 26 July 2018 в 18:01

После ввода переменной оболочки

cd $SCRIPT/

введите Ctrl-Alt-E. Это расширяет переменную

cd /home/user/script/

. Это работает с EDITOR = vi в Fedora 16.

1
ответ дан 26 July 2018 в 18:01

Чтобы вернуть старый образ назад, используйте команду

shopt -s direxpand

или включите его в свой .bashrc

Если вы используете тот же .bashrc с разными версиями bash , используйте

if ((BASH_VERSINFO[0] >= 4)) && ((BASH_VERSINFO[1] >= 2)) then shopt -s direxpand fi
4
ответ дан 26 July 2018 в 18:01
  • 1
    Это испытание завершится неудачно для bash 5.0 и 5.1. – Keith Thompson 21 January 2014 в 05:31

Эта ошибка была введена в bash 4.2. Здесь есть длинная тема:

http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html

Короче говоря, Чет Рейме, разработчик bash, не знает, как это сделать.

12
ответ дан 31 July 2018 в 10:34
  • 1
    Есть ли способ вернуться к bash 4.1? – nilchat 12 May 2011 в 09:37
  • 2
    Исправлено исправление: Чет добавил "direxpand" shopt для восстановления старого поведения. Это еще не в Oneiric. – Nelson 29 January 2012 в 06:02
  • 3
    Удивительно, что так мало людей жаловались на это. Это большое изменение в том, как Баш работал в течение ряда лет. – Scott C Wilson 13 February 2012 в 00:00

Обходной путь, предложенный в http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html, это:

использовать <Tab> для автоматического завершения переменная среды st вы в командной строке cd $MYVAR нажмите <Esc> + <Ctrl>-E, чтобы развернуть текущую командную строку, т. е. замените $MYVAR на ее значение, путь добавит /, а затем наслаждайтесь <Tab> автозаполнением, как обычно

Предполагается, что вы находитесь в режиме emacs (set -o emacs) и bash_completion настроены для cd разумно для cd (например, complete -o nospace -F _cd cd).

К сожалению, это не работает в vi (set -o vi), потому что расширение командной строки недоступно.

7
ответ дан 31 July 2018 в 10:34

После ввода переменной оболочки

cd $SCRIPT/

введите Ctrl-Alt-E. Это расширяет переменную

cd /home/user/script/

. Это работает с EDITOR = vi в Fedora 16.

1
ответ дан 31 July 2018 в 10:34

Чтобы вернуть старый образ назад, используйте команду

shopt -s direxpand

или включите его в свой .bashrc

Если вы используете тот же .bashrc с разными версиями bash , используйте

if ((BASH_VERSINFO[0] >= 4)) && ((BASH_VERSINFO[1] >= 2)) then shopt -s direxpand fi
4
ответ дан 31 July 2018 в 10:34
  • 1
    Это испытание завершится неудачно для bash 5.0 и 5.1. – Keith Thompson 21 January 2014 в 05:31

Эта ошибка была введена в bash 4.2. Здесь есть длинная тема:

http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html

Короче говоря, Чет Рейме, разработчик bash, не знает, как это сделать.

12
ответ дан 2 August 2018 в 03:31
  • 1
    Есть ли способ вернуться к bash 4.1? – nilchat 12 May 2011 в 09:37
  • 2
    Исправлено исправление: Чет добавил "direxpand" shopt для восстановления старого поведения. Это еще не в Oneiric. – Nelson 29 January 2012 в 06:02
  • 3
    Удивительно, что так мало людей жаловались на это. Это большое изменение в том, как Баш работал в течение ряда лет. – Scott C Wilson 13 February 2012 в 00:00

Обходной путь, предложенный в http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html, это:

использовать <Tab> для автоматического завершения переменная среды st вы в командной строке cd $MYVAR нажмите <Esc> + <Ctrl>-E, чтобы развернуть текущую командную строку, т. е. замените $MYVAR на ее значение, путь добавит /, а затем наслаждайтесь <Tab> автозаполнением, как обычно

Предполагается, что вы находитесь в режиме emacs (set -o emacs) и bash_completion настроены для cd разумно для cd (например, complete -o nospace -F _cd cd).

К сожалению, это не работает в vi (set -o vi), потому что расширение командной строки недоступно.

7
ответ дан 2 August 2018 в 03:31

После ввода переменной оболочки

cd $SCRIPT/

введите Ctrl-Alt-E. Это расширяет переменную

cd /home/user/script/

. Это работает с EDITOR = vi в Fedora 16.

1
ответ дан 2 August 2018 в 03:31

Чтобы вернуть прежнее поведение, используйте команду

shopt -s direxpand

или включите ее в свой .bashrc

Если вы используете тот же .bashrc с разными версиями bash , используйте

if ((BASH_VERSINFO[0] >= 4)) && ((BASH_VERSINFO[1] >= 2)) then shopt -s direxpand fi
4
ответ дан 2 August 2018 в 03:31
  • 1
    Это испытание завершится неудачно для bash 5.0 и 5.1. – Keith Thompson 21 January 2014 в 05:31

Эта ошибка была введена в bash 4.2. Здесь есть длинная тема:

http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html

Короче говоря, Чет Рейме, разработчик bash, не знает, как это сделать.

12
ответ дан 4 August 2018 в 19:29
  • 1
    Есть ли способ вернуться к bash 4.1? – nilchat 12 May 2011 в 09:37
  • 2
    Исправлено исправление: Чет добавил "direxpand" shopt для восстановления старого поведения. Это еще не в Oneiric. – Nelson 29 January 2012 в 06:02
  • 3
    Удивительно, что так мало людей жаловались на это. Это большое изменение в том, как Баш работал в течение ряда лет. – Scott C Wilson 13 February 2012 в 00:00

Обходной путь, предложенный в http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html, это:

использовать <Tab> для автоматического завершения переменная среды st вы в командной строке cd $MYVAR нажмите <Esc> + <Ctrl>-E, чтобы развернуть текущую командную строку, т. е. замените $MYVAR на ее значение, путь добавит /, а затем наслаждайтесь <Tab> автозаполнением, как обычно

Предполагается, что вы находитесь в режиме emacs (set -o emacs) и bash_completion настроены для cd разумно для cd (например, complete -o nospace -F _cd cd).

К сожалению, это не работает в vi (set -o vi), потому что расширение командной строки недоступно.

7
ответ дан 4 August 2018 в 19:29

После ввода переменной оболочки

cd $SCRIPT/

введите Ctrl-Alt-E. Это расширяет переменную

cd /home/user/script/

. Это работает с EDITOR = vi в Fedora 16.

1
ответ дан 4 August 2018 в 19:29

Чтобы вернуть прежнее поведение, используйте команду

shopt -s direxpand

или включите ее в свой .bashrc

Если вы используете тот же .bashrc с разными версиями bash , используйте

if ((BASH_VERSINFO[0] >= 4)) && ((BASH_VERSINFO[1] >= 2)) then shopt -s direxpand fi
4
ответ дан 4 August 2018 в 19:29
  • 1
    Это испытание завершится неудачно для bash 5.0 и 5.1. – Keith Thompson 21 January 2014 в 05:31

Обходной путь, предложенный в http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html :

  1. используйте & lt; Tab & gt; , чтобы автоматически заполнить переменную среды st вы в командной строке: cd $ MYVAR
  2. hit & lt; Esc & gt; + & lt; Ctrl & gt; -E , чтобы развернуть текущую командную строку, то есть замените $ MYVAR на его значение, путь
  3. добавит / , а затем насладится & lt; Tab & gt; автозаполнение как обычно

Предполагается, что вы находитесь в режиме emacs ( set -o emacs ) и bash_completion настроен разумно для cd (например, complete -o nospace -F_cd cd ).

К сожалению, это не работает в режиме vi ( set - o vi ), потому что расширение командной строки недоступно.

7
ответ дан 6 August 2018 в 03:39

После ввода переменной оболочки

  cd $ SCRIPT /  

типа Cntrl-Alt-E. Это расширяет переменную

  cd / home / user / script /  

Это работает с EDITOR = vi в Fedora 16.

1
ответ дан 6 August 2018 в 03:39

Чтобы вернуть старый образ назад, используйте команду

  shopt -s direxpand  

или включите ее в свой .bashrc

Если вы используете тот же .bashrc с различными версиями bash, используйте

 , если ((BASH_VERSINFO [0] & gt; = 4)) & amp; & amp; & amp; & amp;  ((BASH_VERSINFO [1] & gt; = 2)), затем shopt -s direxpand fi  
4
ответ дан 6 August 2018 в 03:39

Эта ошибка была введена в bash 4.2. Здесь есть длинная тема:

http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html

Короче говоря, Чет Рами, разработчик bash, не уверен, как это сделать.

12
ответ дан 6 August 2018 в 03:39

Чтобы вернуть старый образ назад, используйте команду

  shopt -s direxpand  

или включите ее в свой .bashrc

Если вы используете тот же .bashrc с различными версиями bash, используйте

 , если ((BASH_VERSINFO [0] & gt; = 4)) & amp; & amp; & amp; & amp;  ((BASH_VERSINFO [1] & gt; = 2)), затем shopt -s direxpand fi  
4
ответ дан 7 August 2018 в 21:30

После ввода переменной оболочки

  cd $ SCRIPT /  

типа Cntrl-Alt-E. Это расширяет переменную

  cd / home / user / script /  

Это работает с EDITOR = vi в Fedora 16.

1
ответ дан 7 August 2018 в 21:30

Обходной путь, предложенный в http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html :

  1. используйте & lt; Tab & gt; , чтобы автоматически заполнить переменную среды st вы в командной строке: cd $ MYVAR
  2. hit & lt; Esc & gt; + & lt; Ctrl & gt; -E , чтобы развернуть текущую командную строку, то есть замените $ MYVAR на его значение, путь
  3. добавит / , а затем насладится & lt; Tab & gt; автозаполнение как обычно

Предполагается, что вы находитесь в режиме emacs ( set -o emacs ) и bash_completion настроен разумно для cd (например, complete -o nospace -F_cd cd ).

К сожалению, это не работает в режиме vi ( set - o vi ), потому что расширение командной строки недоступно.

7
ответ дан 7 August 2018 в 21:30

Эта ошибка была введена в bash 4.2. Здесь есть длинная тема:

http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html

Короче говоря, Чет Рами, разработчик bash, не уверен, как это сделать.

12
ответ дан 7 August 2018 в 21:30

Чтобы вернуть старый образ назад, используйте команду

  shopt -s direxpand  

или включите ее в свой .bashrc

Если вы используете тот же .bashrc с различными версиями bash, используйте

 , если ((BASH_VERSINFO [0] & gt; = 4)) & amp; & amp; & amp; & amp;  ((BASH_VERSINFO [1] & gt; = 2)), затем shopt -s direxpand fi  
4
ответ дан 10 August 2018 в 09:47

После ввода переменной оболочки

  cd $ SCRIPT /  

типа Cntrl-Alt-E. Это расширяет переменную

  cd / home / user / script /  

Это работает с EDITOR = vi в Fedora 16.

1
ответ дан 10 August 2018 в 09:47

Другие вопросы по тегам:

Похожие вопросы: