繁体   English   中英

查找-exec和Bash脚本

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM