Bash не раскрывает переменные при нажатии клавиши Tab

В предыдущих версиях Ubuntu 18.04 переменные в Bash раскрываются, когда я нажимаю Клавиша Tab . Но в Ubuntu 20.04 (с использованием bash 5.0.16) переменные не раскрываются. Вместо знака доллара $ перед переменной ставится обратная косая черта.

Например, скажем, у меня есть переменная MY_DIRECTORY :

export MY_DIRECTORY=/path/to/a/folder

Теперь, когда я пишу что-то вроде этого:

ls $MY_DIRECTORY<Tab key>

Я получаю:

ls \$MY_DIRECTORY

Как видите, переменная не ' t развернуть до желаемого пути. Что в этом плохого?

3
задан 31 May 2020 в 12:55

1 ответ

У вас есть следующие два варианта расширения переменной в Bash:

  • Используйте Ctrl+Alt+E ] сочетание клавиш всякий раз, когда вы хотите расширить переменную.

    Например, если я напишу в своем терминале:

    $LANG $BASH
    

    и затем нажмите ярлык, обе переменные будут расширены до:

    en_US.UTF-8 /usr/bin/bash
    
  • Включите shopt встроенную опцию direxpand, выполнив в терминале:

    shopt -s direxpand
    

    Теперь, если вы наберете:

    ls $MY_DIRECTORY/<клавиша Tab>
    

    он будет расширен до:

    ls /path/to/a/folder/
    

    Чтобы включить параметр direxpand для всех сеансов терминала, добавьте shopt -s direxpand в файл ~/.bashrc либо вручную, либо выполнив:

    echo "shop -s direxpand" >> ~/.bashrc
    
7
ответ дан 6 December 2020 в 11:18

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

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