找到我想要的子目录没有问题:
find /media/USBdrive/ -type d -mtime 1
从那里我需要将这个(快照的)子目录作为工作目录,我将运行命令mencodex...
来创建我的视频。
我尝试了-exec cd {} /;....
和许多其他事情,但无济于事
我迷失在这里
谢谢你的帮助
我的目的是创建一个脚本,但首先我需要检查命令
答案 0 :(得分:0)
试试这个:
cd $(find /media/USBdrive/ -type d -mtime 1)
或者更确切地说,正如Glenn建议用双引号来处理目标目录名中的空格。
顺便说一句......当你运行“find ... -exec xyz”时,它会创建一个子shell并在子shell中运行你的命令(即xyz)直到它退出然后它为下一个文件运行另一个子shell它发现匹配您的搜索。所以当你运行“find ... -exec cd somewhere”时。它实际上cd到该目录,但它然后退出。如果你真的想要,你可以把你想要的所有命令放在一个新的脚本中,叫做“DoEverything”并运行如下:
find ... -exec DoEverything {} \;
但这将涉及另一个脚本,而Glenn和我建议的方式更清晰。
答案 1 :(得分:0)
您必须在当前 shell中执行cd命令:更改子shell或脚本中的目录不会影响当前的shell:
cd "$(find /media/USBdrive/ -type d -mtime 1)"