挂载来自 stdin 的 unionfs (或 aufs)分支?

挂载来自 stdin 的 unionfs (或 aufs)分支?

是否可以将分支路径从 stdin 提供给 mount (或 mount_unionfs)命令,而不是将它们作为参数或从文件提供?

cat ~/dirs_with_photos.txt | mount -t unionfs

我不想使用/etc/fstab,因为理想情况下我想动态自动生成这些 txt 文件,例如使用 cron 作业:

@weekly  find $HOME -type d -iname "*photos*" > ~/dirs_with_photos.txt

答案1

将输入转换为所需的语法并将其拼接到命令行中命令替换

dirs_with_photos="$(<~/dirs_with_photos.txt tr '\n' :)"
if [ -n "$dirs_with_photos" ]; then
  unionfs-fuse "${dirs_with_photos%:}" /photos
fi

mount_unionfs您需要为每个目录发出一个挂载命令。您可以使用围绕read内置循环

while IFS= read -r dir; do
  mount_unionfs "$dir" /photos
done <~/dirs_with_photos.txt

相关内容