Как назначить загруженный модуль nodejs переменной в Bash?

Решение состоит в том, чтобы сбросить и декомпилироватьACPI DSDT(таблицу дифференцированного описания системы )из BIOS. Сюда входит код для инициализации устройства ACPI, относящийся к используемой системе, а также необходимые идентификаторы устройств.

Должна быть установлена ​​декомпиляция DSDT с помощью следующих команд(iasl)

cp /sys/firmware/acpi/tables/DSDT dsdt.dat
iasl -d dsdt.dat

Затем запросите идентификаторы устройств в декомпилированном коде

grep '_HID.*"' dsdt.dsl

Вывод будет включать все строки, в которых объявлено устройство, и соответствующие идентификаторы устройств. Наконец, используйте LKDDb, чтобы найти необходимые драйверы ядра acpi для устройств.

Для быстрого извлечения соответствующих строк вы можете использовать это:

wget https://cateee.net/sources/lkddb/lkddb.list
for i in $(grep '_HID.*"' dsdt.dsl | grep -o '"[A-Z0-9]*"'); do grep "$i" lkddb.list; done | sort -u > relevant

Кроме того, перечислите все CONFIG_*переменные из вывода:

cat relevant | grep -o 'CONFIG[A-Z0-9_]*' | sort -u

Обратите внимание, что этот список является только руководством и не гарантирует отсутствие ложных положительных или ложных отрицательных результатов. Если вы хотите быть уверены в том, что вы делаете, вы должны исследовать dsdt.dslсамостоятельно.

0
11.05.2020, 04:58
1 ответ

Это не работает, потому что вы используете неправильный синтаксис. Что вы делаете, так это ${...}, которое является расширением параметра bash для выполнения манипуляций с переменными. Например:

foo="abc"
echo "${foo^^}"
# outputs ABC instead of abc 

Чтобы заставить его работать, измените его на обратные кавычки `... `или$(...)

Так и будет:

benchmarkStart=`node -e "require('${nm}/benchmarkStart.js')"`
or
benchmarkStart=$(node -e "require('${nm}/benchmarkStart.js')")
0
28.04.2021, 23:15

Теги

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