簡體   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