Including my extern-squishing script, which just found an
[rsync/rsync.git] / support / lsh
1 #!/bin/sh
2 # This script can be used as a "remote shell" command that is only
3 # capable of pretending to connect to "localhost".  This is useful
4 # for testing or for running a local copy where the sender and the
5 # receiver needs to use different options (e.g. --fake-super).  If
6 # we get a -l USER option, we try to use "sudo -u USER" to run the
7 # command.
8
9 prefix=''
10
11 cd # Default path is home dir, just like ssh.
12
13 while : ; do
14     case "$1" in
15     -l) shift ; prefix="sudo -u $1"; shift ;;
16     -l*) prefix=`echo $1 | sed 's/-l/sudo -u /'`; shift ;;
17     -*) shift ;;
18     localhost) shift; break ;;
19     *) exit 1 ;;
20     esac
21 done
22
23 eval $prefix "${@}"