Где найти документацию по драйверу ядра Linux по имени файла

Вам необходимо экранировать $перед $HOSTNAMEпеременной (или командой $(hostname)), чтобы она разворачивалась/запускалась на удаленной машине, а не на локальной:

#!/bin/bash
while read PASSWORD SERVER;do
  sshpass -p "$PASSWORD" ssh -t -p 1234 $SERVER << EOF
    wget -N https://example.com/file.conf 2>&1 | grep -i "failed\|error\|saved"
    sed -i "s/variabletoreplace/\$HOSTNAME/" file.conf
  EOF
done

Как упоминалось в комментариях, было бы намного лучше использовать ключи ssh, а не sshpass, и если бы все эти команды, которые вы хотите запустить, находились в сценарии на удаленном хосте, это было бы намного проще. В качестве альтернативы может быть более подходящим использование такого инструмента, как ansibleили puppet.

1
15.01.2021, 18:50
2 ответа

Для этого не существует источника информации, который гарантированно будет доступен -не программистам.

Однако существуют инструменты, которые вы можете использовать для определения назначения данного модуля ядра (, который представляет собой файл, на который вы смотрите ); первый из них

sudo modinfo max7359_keypad

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

MAX7359 Key Switch Controller Driver

Это мало что говорит, но предполагает, что это не драйвер, поддерживающий конкретную модель клавиатуры (или семейство ). Веб-поиск приведет вас на страницу производителя MAX7359 , которая расскажет вам больше, по крайней мере, то, что, вероятно, не имеет отношения к большинству конечных -пользователей.

3
18.03.2021, 22:36

Если вы загружаете исходный код Linux с помощью системы управления пакетами утилиту или репозиторий Git с исходным кодом клона Linux, вы можете получить некоторые больше информации. Например (я использую ag):

$ cd /usr/src/linux
$ ag max7359_keypad
drivers/input/keyboard/Kconfig
425:      module will be called max7359_keypad.

drivers/input/keyboard/max7359_keypad.c
3: * max7359_keypad.c - MAX7359 Key Switch Controller Driver
56:struct max7359_keypad {
87:     struct max7359_keypad *keypad = dev_id;
129:    struct max7359_keypad *keypad = input_get_drvdata(dev);
138:    struct max7359_keypad *keypad = input_get_drvdata(dev);
163:    struct max7359_keypad *keypad;
182:    keypad = devm_kzalloc(&client->dev, sizeof(struct max7359_keypad),

drivers/input/keyboard/Makefile
41:obj-$(CONFIG_KEYBOARD_MAX7359)               += max7359_keypad.o

В drivers/input/keyboard/Kconfig написано:

config KEYBOARD_MAX7359
    tristate "Maxim MAX7359 Key Switch Controller"
    select INPUT_MATRIXKMAP
    depends on I2C
    help
      If you say yes here you get support for the Maxim MAX7359 Key
      Switch Controller chip. This providers microprocessors with
      management of up to 64 key switches

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

И drivers/input/keyboard/max7359 _keypad.c — это драйвер реализация:

// SPDX-License-Identifier: GPL-2.0-only
/*
 * max7359_keypad.c - MAX7359 Key Switch Controller Driver
 *
 * Copyright (C) 2009 Samsung Electronics
 * Kim Kyuwon <q1.kim@samsung.com>
 *
 * Based on pxa27x_keypad.c
 *
 * Datasheet: http://www.maxim-ic.com/quick_view2.cfm/qv_pk/5456
 */
2
18.03.2021, 22:36

Теги

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