1
0
Fork 0
mirror of https://github.com/notwa/rc synced 2024-06-18 06:03:07 -07:00
rc/sh/autosync

21 lines
539 B
Bash
Executable File

#!/usr/bin/env zsh
# YES_ZSH
# NO_BASH
# NO_DASH
# TODO: portable way of dodging aliases to allow other shell support?
autosync() { ### @-
### combine `inotifywait` and `rsync`.
### this is sometimes nicer than `ssh`-ing into a server and running `vim` remotely.
target="$1"
shift
# as a reminder not to get the argument order mixed up:
echo -E "rsyncing to $target" >&2
while inotifywait -q -e create,modify "$@"; do
\rsync -rtl "$@" "$target"
done
}
[ "${SOURCING:-0}" -gt 0 ] || autosync "$@"