Есть ли инструмент для просмотра всех моих уровней интерпретации ярлыков?

Выполните итерацию по диктам и отфильтровайте ненужные ключи.

---
- hosts: all
  gather_facts: no
  vars:
    site1:
    - name: myName
      value1: something1
      value2: apple
      value3: 14
      valuen: "a submarine"
  tasks:
  - debug:
      msg: |
        {%- for item in site1 %}
        {{item['name']}}
        {%-   for key in item.keys() | sort %}
        {%-     if key.startswith('value') %}
         {{item[key]}}
        {%-     endif %}
        {%-   endfor %}
        {%- endfor %}.

Результат:

$ ansible-playbook -i localhost, playbook.yml 

PLAY [all] ******************************************************************** 

TASK: [debug ] **************************************************************** 
ok: [localhost] => {
    "msg": "myName something1 apple 14 a submarine."
}

PLAY RECAP ******************************************************************** 
localhost                  : ok=1    changed=0    unreachable=0    failed=0   

-121--289782-

Собственный менеджер пакетов Perl - самый простой способ установки библиотек Perl. К сожалению, он не интегрирован в дистрибутив, поэтому вы не получите преимуществ управления пакетами дистрибутива, таких как стабильные выпуски, обновления безопасности или отслеживание зависимостей для компонентов, отличных от Perl. Поэтому лучше использовать это только для модулей, которые отсутствуют в вашем дистрибутиве.

Менеджер пакетов Perl называется CPAN , после веб-сайта с тем же именем . Для взаимодействия с CPAN выполните команду

perl -MCPAN -eshell

и следуйте инструкциям по установке. Для использования в системе выполните установку по пути /usr/local/lib/site _ perl или независимо от перечислять системы для

perl -e '$\=$,="\n"; print grep m!^/usr/local!, @INC'

Для установки модуля используйте команду install для каждого из отсутствующих модулей. Это также устанавливает зависимости. Например,

cpan[4]> install YAML::XS

Если модули установлены через дистрибутив (например, DBI через libdbi-perl ), но программа сообщает, что их «не удалось загрузить», это будет ошибкой в программе. Может, ему нужна более поздняя версия, или, может быть, он портит путь поиска модуля.

Обратите внимание, что приведенные инструкции являются довольно запутанными, и вызовет неполадки в строке, поскольку они предписывают вам изменить файлы, которые поддерживаются диспетчером пакетов. Никогда не делайте этого: ваши модификации будут потеряны при модернизации. Вместо этого, если вам нужно исправить некоторые системные файлы, поместите исправленную копию куда-нибудь и проинструктируйте программу загрузить модули из пользовательского каталога, например,

mkdir -p /usr/local/lib/lms/perl/Slim
cp /usr/share/perl5/Slim/bootstrap.pm /usr/local/lib/lms/perl/Slim
patch /usr/local/lib/lms/perl/Slim/bootstrap.pm lms-rpi-bootstrap.patch

и отредактируйте сценарий запуска службы logitechmediaserver , чтобы установить для переменной среды PERL5LIB значение /usr/local/lib/lms/perl .

-121--289696-

См. Справочное руководство Bash :

  • $ {parameter # word}

  • $ {parameter # # word}

    Слово развернуто так же, как и при расширении имени файла (см. Расширение имени файла). Если образец соответствует началу расширенного значения параметра, то результатом расширения является расширенное значение параметра с удаленным самым коротким образцом соответствия (случай «#») или самым длинным образцом соответствия (случай «# #»)....

  • $ {parameter% word}

  • $ {parameter%% word}

    Слово развернуто для создания образца так же, как при расширении имени файла. Если образец соответствует заключительной части расширенного значения параметра, то результатом расширения является значение параметра с удаленным самым коротким образцом соответствия (случай «%») или самым длинным образцом соответствия (случай «%%»)....

0
24.05.2018, 11:25
1 ответ

Это ваш эмулятор терминала, который «съедает» ваши ключи, потому что для них нет известного представления/экранирования, с помощью которого они могли бы быть отправлены в программу, работающую в терминале.

Shift -Вкладка обычно отображается на "\e[Z" (kcbt/kB/back -клавиша табуляции, см. terminfo (5 )), и это то, что tmux видит для обоих Shift -Tab и Control -Shift -Tab; но это все равно не имеет значения, потому что tmux (видимо )не умеет привязывать произвольные последовательности клавиш к командам, а только «стандартные» клавиши, о которых он знает.

Имея это в виду, вы можете настроить urxvt для переназначения Control -Tab и Control -Shift -Tab на «Control -bn» и «Control -bp» (по умолчанию. клавиши для следующего/предыдущего окна в tmux)

$ cat | xrdb -override
URxvt.keysym.ISO_Left_Tab: string:\002n
URxvt.keysym.Control-ISO_Left_Tab: string:\002p
! disable the built-in control-shift
URxvt.iso14755:false
^D

"\002" равно ^B или Control -b; вам следует изменить его, если вы используете другой ключевой префикс в tmux (, например, "\001" для ^A ).

Также обратите внимание, что на вашем X-сервере Shift -Tab может не быть сопоставлен с ISO _Left _Tab; используйте xev (1 ), чтобы увидеть, какие ключи он на самом деле отправляет.

Если это сработает,вы можете добавить эти строки в~/.Xresources--и убедиться, что файл загружается из сценариев X-сеанса (, что может быть недоступно для современных рабочих столов! ).

1
28.01.2020, 02:43

Теги

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