运行其子目录的脚本

运行其子目录的脚本

我正在尝试运行截图脚本,但我不想让它在其子目录中运行。

假设我有一张名为 moviemap 的地图,里面有 3 张地图,每张地图有 5 部电影。我想进入 moviemap 地图,然后运行一个脚本,它会开始对 3 张地图中的所有电影进行截图。

我怎样才能做到这一点?

我现在有这个,但是它不起作用:(

#!/bin/bash
basedir=$1

for dir in "$basedir"/* 
do
      for i in *;
      do
           vcs -n40 -c4 -H 267 -a 400/267 -U0 $i
      done
done

答案1

好的,如果你的设置如下:

Movies/Jan/movie1.mp4
Movies/Jan/movie2.mp4
Movies/Feb/movie3.mp4
Movies/Feb/movie4.mp4
Movies/march/movie5.mp4

其中 Movies 是您的 basedir。然后以下脚本将列出所有电影文件以及相对于 basedir 的完整路径。

for dir in $basedir/*/*
do
  for file in $dir/
  do
    echo $file
  done
done

用你的 vcs 命令替换echo $file,但首先尝试这样做以确保你获得正确的文件。

这没有容错能力,也不会递归到子目录中。您可能想添加一个检查,以确保只抓取视频文件。

相关内容