質問

Why does echo "---" >> file only generate a ./ OPEN file event? Shouldn't it generate other events too?

For example:

# In a script:
while true; do
  change=$(inotifywait -q -r . )
  echo $change
done

# Somewhere else:
echo "--" >> file
echo "--" >> file
echo "--" >> file
役に立ちましたか?

解決

it is exiting after the first event and starting the loop over, by the time the first watch is removed and the second added, the events have already transpired. You can try:

inotifywait -q -m -r . | while read CHANGE; do
    case "$CHANGE" in
        *)echo $CHANGE;;
    esac
done

the -m will continue monitoring after the first event

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top