Linux Bash脚本读取文件并基于特定字符串运行命令

Linux Bash脚本读取文件并基于特定字符串运行命令,linux,bash,Linux,Bash,我需要一个bash脚本,当一个文件被保存到一个特定的目录时,该脚本可以是任何文件名,读取其内容,然后,如果在文件中找到一个特定的字符串,则运行一个特定的命令/或另一个脚本 我已经看过了,但是这个脚本似乎依赖于命名的文件。我的bash脚本几乎没用,希望有人能帮上忙:如果您安装了inotify工具包,您可以使用inotifywait来完成以下任务: #!/bin/bash DIR_TO_WATCH=/tmp STRING=foobar cd "$DIR_TO_WATCH" inotifywai

我需要一个bash脚本,当一个文件被保存到一个特定的目录时,该脚本可以是任何文件名,读取其内容,然后,如果在文件中找到一个特定的字符串,则运行一个特定的命令/或另一个脚本

我已经看过了,但是这个脚本似乎依赖于命名的文件。我的bash脚本几乎没用,希望有人能帮上忙:

如果您安装了inotify工具包,您可以使用inotifywait来完成以下任务:

#!/bin/bash

DIR_TO_WATCH=/tmp
STRING=foobar

cd "$DIR_TO_WATCH"

inotifywait -qme close_write --format '%f' -r ./ | while read changed_file; do
  if grep "$STRING" "$changed_file" &>/dev/null; then
    echo "$STRING found on file $changed_file!"
  fi
done

我建议您查看有关命令行选项的更多详细信息

尝试编写一些东西,然后我们可以给您反馈。这很好。我对它进行了一些修改,以包含几个匹配项,运行一个脚本。