如果我想检查是否存在单个文件,我可以使用test -e filename或测试它[ -e filename ].
假设我有一个glob,我想知道是否存在名称与glob匹配的文件.glob可以匹配0个文件(在这种情况下我不需要做任何事情),或者它可以匹配1个或多个文件(在这种情况下我需要做一些事情).如何测试glob是否有匹配?(我不关心有多少匹配,如果我能用一个if语句而没有循环(仅仅因为我发现最可读)这样做是最好的.
(test -e glob*如果glob匹配多个文件,则失败.)
我想在对特定设备/共享/挂载进行挂载尝试之前执行一个程序。例如,我希望 autofs/amd 控制 /data/{1..10},并且当一个进程打开 /data/4(并且 /data/4 当前未安装)时,会调用一个脚本,例如在尝试挂载之前,作为“/usr/local/bin/preparedata 4”(4 是 autofs 控制目录中的挂载点名称)。例如,我可以动态附加 iSCSI LUN(将在 autofs 映射中引用),或启动具有 NFS 导出(在映射中指定)的远程系统/VM。
如果缺少,我很乐意添加详细信息。
更新:我注意到 systemd 似乎在拦截 open() 调用,有什么方法可以做到这一点,特别是在 systemd 中吗?