Как я могу создать нечто похожее на псевдоним, который правильно расширяет исходную команду?

Virtualbox, вероятно, самый простой в настройке и использовании для этого см. http://www.virtualbox.org/

Он также доступен в программном центре Ubuntu для легкой установки

4
задан 21 July 2011 в 02:36

12 ответов

Программируемое завершение Bash - это то, что я не очень беспокоил с собой, но я считаю, что это будет делать то, что вы хотите (NB предполагает bash версии 4.0 или новее. Если вы запустите Ubuntu 10.04 или новее, вы хорошо.):

alias agi='apt-get install'
_agi_completion() { 
    mapfile -t COMPREPLY < <(apt-cache --no-generate pkgnames "${COMP_WORDS[COMP_CWORD]}")
}
complete -F _agi_completion agi

Программируемое завершение в руководстве bash объясняет, как это работает, хотя оно довольно сложно.

4
ответ дан 25 May 2018 в 19:44
  • 1
    +1, он также работает в предложении sudo – enzotib 21 July 2011 в 10:33
  • 2
    uhm, я должен исправить свой предыдущий комментарий: завершение работает с sudo preended, но псевдоним не найден, как только вы нажмете enter – enzotib 21 July 2011 в 12:57
  • 3
    @enzotib, да, sudo не знает о функциях оболочки или псевдонимах, только оболочка общается с ними. Я предполагаю, что псевдоним на самом деле alias agi='sudo apt-get install' – geirha 21 July 2011 в 18:25

Программируемое завершение Bash - это то, что я не очень беспокоил с собой, но я считаю, что это будет делать то, что вы хотите (NB предполагает bash версии 4.0 или новее. Если вы запустите Ubuntu 10.04 или новее, вы хорошо.):

alias agi='apt-get install' _agi_completion() { mapfile -t COMPREPLY < <(apt-cache --no-generate pkgnames "${COMP_WORDS[COMP_CWORD]}") } complete -F _agi_completion agi

Программируемое завершение в руководстве bash объясняет, как это работает, хотя оно довольно сложно.

4
ответ дан 25 July 2018 в 21:33

Программируемое завершение Bash - это то, что я не очень беспокоил с собой, но я считаю, что это будет делать то, что вы хотите (NB предполагает bash версии 4.0 или новее. Если вы запустите Ubuntu 10.04 или новее, вы хорошо.):

alias agi='apt-get install' _agi_completion() { mapfile -t COMPREPLY < <(apt-cache --no-generate pkgnames "${COMP_WORDS[COMP_CWORD]}") } complete -F _agi_completion agi

Программируемое завершение в руководстве bash объясняет, как это работает, хотя оно довольно сложно.

4
ответ дан 2 August 2018 в 03:11

Программируемое завершение Bash - это то, что я не очень беспокоил с собой, но я считаю, что это будет делать то, что вы хотите (NB предполагает bash версии 4.0 или новее. Если вы запустите Ubuntu 10.04 или новее, вы хорошо.):

alias agi='apt-get install' _agi_completion() { mapfile -t COMPREPLY < <(apt-cache --no-generate pkgnames "${COMP_WORDS[COMP_CWORD]}") } complete -F _agi_completion agi

Программируемое завершение в руководстве bash объясняет, как это работает, хотя оно довольно сложно.

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

Программируемое завершение Bash - это то, что я не очень беспокоил с собой, но я считаю, что это будет делать то, что вы хотите (NB предполагает bash версии 4.0 или новее. Если вы запустите Ubuntu 10.04 или новее, вы хорошо.):

alias agi='apt-get install' _agi_completion() { mapfile -t COMPREPLY < <(apt-cache --no-generate pkgnames "${COMP_WORDS[COMP_CWORD]}") } complete -F _agi_completion agi

Программируемое завершение в руководстве bash объясняет, как это работает, хотя оно довольно сложно.

4
ответ дан 6 August 2018 в 03:23

Программируемое завершение Bash - это то, что я не очень беспокоил с собой, но я считаю, что это будет делать то, что вы хотите (NB предполагает bash версии 4.0 или новее. Если вы запустите Ubuntu 10.04 или новее, вы хорошо.):

alias agi='apt-get install' _agi_completion() { mapfile -t COMPREPLY < <(apt-cache --no-generate pkgnames "${COMP_WORDS[COMP_CWORD]}") } complete -F _agi_completion agi

Программируемое завершение в руководстве bash объясняет, как это работает, хотя оно довольно сложно.

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

Вам нужно добавить свои псевдонимы в словари для завершения оболочки, чтобы он знал, что он выполняет для этих команд. По завершении оболочки уже должны быть названы функциями, но вы должны сказать, что они применяются к вашим новым именам команд.

2
ответ дан 25 May 2018 в 19:44
  • 1
    Не могли бы вы рассказать об этом ответе? Может быть, добавьте пошаговое руководство? – N.N. 21 July 2011 в 02:42
  • 2
    Я знаю только шаг за шагом для zsh, а не bash. Может быть, это поставит кого-то на правильный путь, который знает bash, иначе я попытаюсь исследовать его позже. – Caleb 21 July 2011 в 02:47
  • 3
    Я пытался использовать словари для завершения работы google, но не мог найти ничего полезного в качестве отправной точки. Есть ли определенное место в fs, где я мог бы искать эти словари? – jottr 21 July 2011 в 02:54
  • 4
    У вас есть «bash-completions»? пакет? Если не просматривать файлы, включенные в «bash», пакет и посмотреть, сможете ли вы определить, какие из них имеют определения завершения. – Caleb 21 July 2011 в 02:57

Вам нужно добавить свои псевдонимы в словари для завершения оболочки, чтобы он знал, что он выполняет для этих команд. По завершении оболочки уже должны быть названы функциями, но вы должны сказать, что они применяются к вашим новым именам команд.

2
ответ дан 25 July 2018 в 21:33
  • 1
    Не могли бы вы рассказать об этом ответе? Может быть, добавьте пошаговое руководство? – N.N. 21 July 2011 в 02:42
  • 2
    Я знаю только шаг за шагом для zsh, а не bash. Может быть, это поставит кого-то на правильный путь, который знает bash, иначе я попытаюсь исследовать его позже. – Caleb 21 July 2011 в 02:47
  • 3
    Я пытался использовать словари для завершения работы google, но не мог найти ничего полезного в качестве отправной точки. Есть ли определенное место в fs, где я мог бы искать эти словари? – jottr 21 July 2011 в 02:54
  • 4
    У вас есть «bash-completions»? пакет? Если не просматривать файлы, включенные в «bash», пакет и посмотреть, сможете ли вы определить, какие из них имеют определения завершения. – Caleb 21 July 2011 в 02:57

Вам нужно добавить свои псевдонимы в словари для завершения оболочки, чтобы он знал, что он выполняет для этих команд. По завершении оболочки уже должны быть названы функциями, но вы должны сказать, что они применяются к вашим новым именам команд.

2
ответ дан 2 August 2018 в 03:11
  • 1
    Не могли бы вы рассказать об этом ответе? Может быть, добавьте пошаговое руководство? – N.N. 21 July 2011 в 02:42
  • 2
    Я знаю только шаг за шагом для zsh, а не bash. Может быть, это поставит кого-то на правильный путь, который знает bash, иначе я попытаюсь исследовать его позже. – Caleb 21 July 2011 в 02:47
  • 3
    Я пытался использовать словари для завершения работы google, но не мог найти ничего полезного в качестве отправной точки. Есть ли определенное место в fs, где я мог бы искать эти словари? – jottr 21 July 2011 в 02:54
  • 4
    У вас есть «bash-completions»? пакет? Если не просматривать файлы, включенные в «bash», пакет и посмотреть, сможете ли вы определить, какие из них имеют определения завершения. – Caleb 21 July 2011 в 02:57

Вам нужно добавить свои псевдонимы в словари для завершения оболочки, чтобы он знал, что он выполняет для этих команд. По завершении оболочки уже должны быть названы функциями, но вы должны сказать, что они применяются к вашим новым именам команд.

2
ответ дан 4 August 2018 в 19:03
  • 1
    Не могли бы вы рассказать об этом ответе? Может быть, добавьте пошаговое руководство? – N.N. 21 July 2011 в 02:42
  • 2
    Я знаю только шаг за шагом для zsh, а не bash. Может быть, это поставит кого-то на правильный путь, который знает bash, иначе я попытаюсь исследовать его позже. – Caleb 21 July 2011 в 02:47
  • 3
    Я пытался использовать словари для завершения работы google, но не мог найти ничего полезного в качестве отправной точки. Есть ли определенное место в fs, где я мог бы искать эти словари? – jottr 21 July 2011 в 02:54
  • 4
    У вас есть «bash-completions»? пакет? Если не просматривать файлы, включенные в «bash», пакет и посмотреть, сможете ли вы определить, какие из них имеют определения завершения. – Caleb 21 July 2011 в 02:57

Вам нужно добавить свои псевдонимы в словари для завершения оболочки, чтобы он знал, что он выполняет для этих команд. По завершении оболочки уже должны быть названы функциями, но вы должны сказать, что они применяются к вашим новым именам команд.

2
ответ дан 6 August 2018 в 03:23
  • 1
    Не могли бы вы рассказать об этом ответе? Может быть, добавьте пошаговое руководство? – N.N. 21 July 2011 в 02:42
  • 2
    Я знаю только шаг за шагом для zsh, а не bash. Может быть, это поставит кого-то на правильный путь, который знает bash, иначе я попытаюсь исследовать его позже. – Caleb 21 July 2011 в 02:47
  • 3
    Я пытался использовать словари для завершения работы google, но не мог найти ничего полезного в качестве отправной точки. Есть ли определенное место в fs, где я мог бы искать эти словари? – jottr 21 July 2011 в 02:54
  • 4
    У вас есть «bash-completions»? пакет? Если не просматривать файлы, включенные в «bash», пакет и посмотреть, сможете ли вы определить, какие из них имеют определения завершения. – Caleb 21 July 2011 в 02:57

Вам нужно добавить свои псевдонимы в словари для завершения оболочки, чтобы он знал, что он выполняет для этих команд. По завершении оболочки уже должны быть названы функциями, но вы должны сказать, что они применяются к вашим новым именам команд.

2
ответ дан 7 August 2018 в 21:09
  • 1
    Не могли бы вы рассказать об этом ответе? Может быть, добавьте пошаговое руководство? – N.N. 21 July 2011 в 02:42
  • 2
    Я знаю только шаг за шагом для zsh, а не bash. Может быть, это поставит кого-то на правильный путь, который знает bash, иначе я попытаюсь исследовать его позже. – Caleb 21 July 2011 в 02:47
  • 3
    Я пытался использовать словари для завершения работы google, но не мог найти ничего полезного в качестве отправной точки. Есть ли определенное место в fs, где я мог бы искать эти словари? – jottr 21 July 2011 в 02:54
  • 4
    У вас есть «bash-completions»? пакет? Если не просматривать файлы, включенные в «bash», пакет и посмотреть, сможете ли вы определить, какие из них имеют определения завершения. – Caleb 21 July 2011 в 02:57

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

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