1
0
Fork 0
mirror of https://github.com/notwa/rc synced 2024-11-05 02:29:06 -08:00
rc/sh/autosync

21 lines
543 B
Bash
Executable file

#!/usr/bin/env zsh
# YES_ZSH
# NO_BASH
# NO_DASH
# NO_ASH
# 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
}
[ -n "${preload+-}" ] || autosync "$@"