如何执行使用文件夹名称作为变量的脚本,对每个文件夹重复该命令?

如何执行使用文件夹名称作为变量的脚本,对每个文件夹重复该命令?

我正在使用 rclone,并且想要编写一个脚本,只需创建一个与所述遥控器共享名称的文件夹即可自动安装我的遥控器。

我的目录结构为/home/user/remotes/,包含用作挂载点的各个文件夹,总共 5 个。

我想学习如何编写一个脚本,该脚本在运行时将引用远程目录,并为每个文件夹执行安装命令。

脚本生成的命令如下所示

rclone mount FolderName1: /home/user/remotes/FolderName1 --flags

rclone mount FolderName2: /home/user/remotes/FolderName2 --flags

最理想的是,该脚本会自动为每个文件夹生成上述命令,这样我将来所要做的就是创建作为安装点的文件夹(我打算让脚本作为 cron 作业运行,这样它就会扫描定期查看远程目录)。

有没有办法做到这一点?

答案1

最简单的方法是将您已经使用的命令放入脚本中:

#!/bin/sh
rclone mount remote:path/to/files_1 /path/to/local/mount_1
rclone mount remote:path/to/files_2 /path/to/local/mount_2
rclone mount remote:path/to/files_3 /path/to/local/mount_3

自动方式有点棘手

#!/bin/sh

# get a list of directory names
dirs=$(rclone lsf --dirs-only remote:path/to/dirs)

# assuming you do not have a directory with a space in a name
for dir in $dirs
do
   # ensure you have a mount point
   mkdir -p /path/to/local/$dir

   # and mount it
   rclone mount remote:path/to/$dir /path/to/local/$dir
done

相关内容