You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

20 lines
506 B
Bash

#!/usr/bin/env bash
## Returns the full path to any changed files in the current directory
## or any subdirectories recursively one to a line. Useful for detecting
## changes and taking action (see onchange).
changed () {
local dir="${PWD}"
local tmpname="onchange${dir//\//-}"
local tmp="/tmp/${tmpname}"
if [[ ! -e "${tmp}" ]]; then
find "${dir}" -type f -not -path '*testdata*'
else
find "${dir}" -newer "${tmp}" -type f -not -path '*testdata*'
fi
touch "${tmp}"
}
changed "$@"