我有一个用 cryptosetup 加密的 USB 加密狗,要安装它,我必须执行一个脚本,该脚本对之前必须搜索的加密狗的设备名称进行了硬编码(或将其作为参数)。
我想知道是否有任何方法可以通过 bash 脚本或甚至执行小程序来自动检测设备名称,从而使工作流程如下:
- 连接 USB 数据线
- 执行脚本
- 脚本搜索 dongue 的设备名并挂载该设备
- Cryptosetup 要求输入密码
- 设备已安装
答案1
设备名称应出现在 中dmesg
。请尝试以下操作:
dev_name="/dev/"`dmesg | perl -ne '/.+\[(.+?)\] Attached/ && do{print "$1\n"}' | tail -n 1`
假设您的 USB 加密狗是最后连接的设备(因此tail -n1
),这应该将设备名称保存为$dev_name
。