История поиска от нескольких колотит сессию только, когда Ctrl + R используется, не, когда клавиши со стрелками используются

Информация и вопросы, которые Вы видите, когда Вы используете make config (или make menuconfig или make xconfig) прибывает из файлов Kconfig в исходное дерево. Существуют многие из них; попробовать find . -name Kconfig от верхушки дерева и взглянули на одну.

Вот пример от 3.10.1/drivers/misc/Kconfig:

config AD525X_DPOT_I2C
        tristate "support I2C bus connection"
        depends on AD525X_DPOT && I2C
        help
          Say Y here if you have a digital potentiometers hooked to an I2C bus.

          To compile this driver as a module, choose M here: the
          module will be called ad525x_dpot-i2c.

Существует некоторое обсуждение полей здесь, но не трудно видеть то, что продолжается, если Вы использовали menuconfig достаточно; версия этого обычно дается со "справкой", и если Вы используете поисковую функцию (нажатие /) хиты возвратили отчет этот материал также. Например, от make menuconfig поиск "AD525":

│ Symbol: AD525X_DPOT_I2C [=n]                                                                                                                                         │  
│ Type  : tristate                                                                                                                                                     │  
│ Prompt: support I2C bus connection                                                                                                                                   │  
│   Location:                                                                                                                                                          │  
│     -> Device Drivers                                                                                                                                                │  
│       -> Misc devices                                                                                                                                                │  
│ (1)     -> Analog Devices Digital Potentiometers (AD525X_DPOT [=n])                                                                                                  │  
│   Defined at drivers/misc/Kconfig:34                                                                                                                                 │  
│   Depends on: AD525X_DPOT [=n] && I2C [=y]   

"С тремя состояниями" указывает, что опции являются yes/no/module, существует также "bool" и "международные" типы. Заметьте, "Зависит от" здесь (который соответствует источнику из файла Kconfig), включает признак того, есть ли у меня корректные выбранные зависимости ([=n] [=y]). Это - довольно полезная информация, так как некоторые вещи даже не появятся как выбор, пока Вы не выберете право prereqs.

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

4
04.05.2015, 22:24
1 ответ

Во-первых, не существует чистого решения проблемы без переопределения некоторого ключевого компонента того, как оболочка (в данном случае bash) работает с историей. Ниже приведено решение, которое поддерживает вашу локальную историю так, чтобы стрелки работали, как ожидалось. Ctrl-r, в свою очередь, связан с поиском по вашей глобальной истории. Решение зависит от отличной утилиты для поиска по истории под названием hh. Ниже приведены инструкции по настройке.

Добавьте в стартовый файл либо ~/.profile, ~/.bash_profile, либо ~/. bashrc:

# Whenever a command is executed, write it to a global history
export PROMPT_COMMAND="history -a ~/.bash_history.global"

# On C-r run the swap_history_reverse.sh script, 
bind -x '"\C-r": "~/swap_history_reverse.sh"'

Создайте следующий скрипт ~/swap_history_reverse.sh:

#! /usr/bin/env bash

# Point hh to global history
export HISTFILE=~/.bash_history.global

# Reverse search
hh

# Restore local history
export HISTFILE=~/.bash_history 

Сделайте скрипт исполняемым:

chmod +x ~/swap_history_reverse.sh

Установите hh, смотрите INSTALL.

Как только все будет готово, откройте новую оболочку и запустите ее.

1
27.01.2020, 21:01

Теги

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