[英]Find -exec and Bash scripts
我正在用bash编写脚本。 我用它调用
find *.zip -type f -exec ./myscript.sh {} \;
在脚本的顶部,我调用另一个脚本,如下所示:
#!/bin/bash
. ticktick.sh
我收到以下错误
.: ticktick.sh: file not found
如果我这样调用脚本
./myscript.sh somefile.zip
如果我将ticktick.sh脚本放在另一个目录中的路径中,它会中断,因此这不是一个选择。 使用find调用的脚本是否具有某种特殊的上下文? 我显然是BASH脚本的新手。 任何帮助,将不胜感激
我认为有两个问题。
1 .:如果要搜索当前目录中的所有zip文件,则必须编写以下命令
find . -type f -name *.zip -exec ...
2 .:在./之前执行myscript.sh。 因此,myscript.sh必须位于当前工作目录中。 如果您的脚本位于/ home / jd /中,并且从/ home /执行,则不会找到myscript.sh。 首先,您必须确定文件目录:
install_path=$(dirname $(readlink -f $0))
因此,完整的find命令是:
find . -type f -name *.zip -exec $install_path/myscript.sh {} \;
myscript.sh文件必须与ticktick.sh位于同一目录中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.