Расширить переменные при чтении ввода с помощьюenvsubst
:
export TARGET_DIR=/some/path/
FILE_CLEANUP_DIR_ARR=($(awk '!/^ *#/ && NF' global_file_transfer_cleanup.list | envsubst))
(awk
часть через .)
Плохой альтернативой для этого было бы использованиеeval
:
FILE_CLEANUP_DIR_ARR[i]=$(eval printf '%s' "$CDIR")
Используйте метку RFID или сканер штрих-кода.
За небольшие деньги (менее 10 долларов )вы можете купить USB-считыватель RFID-карт, который действует как HID и вводит пароль при наличии метки. Некоторые из них можно настроить для добавления новой строки в конце. Пароль будет серийным номером метки RFID, и он фиксирован, но имеет разумную энтропию.
Более гибкой и безопасной альтернативой может быть USB-сканер штрих-кода. Опять же, он действует как HID, но здесь вы можете печатать свои собственные пароли (в виде штрих-кода, что достаточно просто, поскольку для этого есть инструменты с открытым исходным кодом ), и у вас больше гибкости и настраиваемости. Простой, но надежный USB-считыватель штрих-кодов обойдется вам в 20–30 долларов. Б/у устройства от POS-терминалов доступны и по моему опыту часто «просто работают».
Возможно, я бы попробовал использовать менеджер паролей, такой как Bitwarden (без принадлежности, доступны многие другие менеджеры ).
Вы можете использовать это для синхронизации паролей между устройствами, а когда вы хотите использовать пароль, скопируйте его в буфер обмена.