我不确定天气是否可能。我正在寻找一个脚本/命令,当我将文件添加到文件夹中时,该脚本/命令将执行命令或运行脚本。
例如:
我正在练习 bash 脚本。编写 bash 脚本后,我必须使用此命令将我的脚本文件转换为可执行文件chmod +x filename.sh。我所有的脚本都存储在一个名为 BASH 的文件夹中。因此,当我.sh在该文件夹中添加一个新 文件时,我希望运行一个命令/脚本,这将使我的.sh文件可执行。
怎么做?
您可以使用inotifywait. 要应用于chmod +x目录 BASH 中写入的每个文件,请保持以下脚本运行:
#!/bin/bash
dir=BASH
inotifywait -m "$dir" -e close_write --format '%w%f' |
while IFS=' ' read -r fname
do
[ -f "$fname" ] && chmod +x "$fname"
done
Run Code Online (Sandbox Code Playgroud)
如果您好奇,您可以inotifywait通过运行以下命令查看所有可以说明目录 bash 中发生的情况的信息:
inotifywait -m BASH
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅man inotifywait。
要使用inotifywait,您可能首先需要安装inotify-tools:运行apt-get install inotify-tools。