Можно ли передать пути ветвей из 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