USB-устройства не разрешены для использования после обновления Debian

Conzsh:

VAR1=tom:rich,LIAm:viki
VAR2=liam,albert,tom

typeset -A map
for i ("${(@s(,))VAR1}") map[${(L)i%%:*}]=${i#*:}
out=()
for i ("${(@s(,))VAR2}") out+=${(qq)${map[${(L)i}]:-$i}}
VAR3=${(j(,))out}

printf '%s\n' "$VAR3"

Salida:

'viki','albert','rich'

Lo mismo conawk(que podría usar con zsh, o cualquier Bourne -como shell comobash):

VAR1=tom:rich,LIAm:viki
VAR2=liam,albert,tom

export VAR1 VAR2
awk -v q=\' 'BEGIN {
  n = split(ENVIRON["VAR1"], a, ",")
  for (i = 1; i <= n; i++) {
    k = v = a[i]
    sub(/:.*/, "", k)
    sub(/[^:]*:/, "", v)
    map[tolower(k)] = v
  }
  n = split(ENVIRON["VAR2"], a, ",")
  for (i = 1; i <= n; i++) {
    k = tolower(a[i])
    out = out sep q (k in map ? map[k] : a[i]) q
    sep = ","
  }
  print out
}'

(una diferencia es que aquí solo encerramos los valores entre comillas simples. Si el valor contiene comillas simples, como foo'bar, obtienes 'foo'bar'mientras que zsh's ${(qq)var}te daría'foo'\''bar').

La versión zshpermite cualquier valor para los elementos. Pueden contener cualquier valor de byte, incluidos nueva línea y NUL o un valor vacío. El awkno admitirá NUL, ya que no se pueden almacenar en variables de entorno y, según la implementación, puede ahogarse con elementos que contienen bytes que no forman caracteres válidos.

Tenga en cuenta que con ambos,VAR2=se entiende como una lista vacía mientras que VAR2=,se entiende como una lista de 2 elementos vacíos, no hay forma de expresar una lista de un elemento vacío.

1
31.07.2019, 22:23
1 ответ

Вероятно, вам нужны правила udev, чтобы включить их. Что-то похожее на здесь:https://github.com/LairdCP/UwTerminalX/wiki/Granting-non-root-USB-device-access-(Linux)

Обновление:

Попробуйте сделать следующий файл:/etc/udev/rules.d/99-permissions.rulesи внутри добавить следующее:

SUBSYSTEM=="usb",GROUP="users",MODE="0666"

Затем запустите:

$ udevadm control --reload-rules && udevadm trigger

и перезагрузите Linux. Это из Ubuntu 16.04, я предполагаю, что путь тот же, что и в Debian Buster. Это работало в конфигурации, где мне приходилось использовать некоторое оборудование принтера/сканера.

0
27.01.2020, 23:41

Теги

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