我不确定这是否可行。我正在寻找一个脚本/命令,当我将文件添加到文件夹中时,它将执行命令或运行脚本。
例如:
我正在练习编写 bash 脚本。编写 bash 脚本后,我必须使用此命令将脚本文件设为可执行文件chmod +x filename.sh
。我的所有脚本都存储在名为 BASH 的文件夹中。因此,当我 .sh
在该文件夹中添加新文件时,我希望运行命令/脚本以使我的.sh
文件可执行。
怎么做?
答案1
您可以使用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
如果您很好奇,您可以inotifywait
通过运行以下命令来查看目录 bash 中发生的所有事情:
inotifywait -m BASH
有关详细信息,请参阅man inotifywait
。
要使用inotifywait
,您可能首先需要安装inotify-tools
:运行apt-get install inotify-tools
。