我正在尝试创建一个脚本,该脚本会自动查找插入的设备并对其进行压缩备份。但是,我无法找到正确的使用方法expr
:
#!/bin/bash
MountText=`mount`
# Show result of regex search
expr "$MountText" : '\/dev\/(sd[^a])\d on [\S]+\/[\s\S]+? type'
表达式本身是\/dev\/(sd[^a])\d on [\S]+\/[\s\S]+? type
, 并捕获设备名称 (sd*),同时排除与 sda 相关的挂载。
我在Regexr上起草了正则表达式(链接中共享的正则表达式),并使用了什么mount
转储 (gist)。
出于某种原因,它只给出了这个奇怪的错误:
0
我环顾四周,发现了这个 SO question。它对我没有太大帮助,因为现在它暗示expr
不识别我用来捕获设备的括号,并且它还认为表达式没有捕获任何东西!
我真的很困惑。我究竟做错了什么?