chown.test

来自「Rsync 3.0.5 source code」· TEST 代码 · 共 68 行

TEST
68
字号
#! /bin/sh# Copyright (C) 2002 by Martin Pool <mbp@samba.org># This program is distributable under the terms of the GNU GPL (see# COPYING).# Test that when rsync is running as root and has -a it correctly sets# the ownership of the destination.# We don't know what users will be present on this system, so we just# use random numeric uids and gids.. "$suitedir/rsync.fns"case $0 in*fake*)    $RSYNC --version | grep ", xattrs" >/dev/null || test_skipped "Rsync needs xattrs for fake device tests"    RSYNC="$RSYNC --fake-super"    TLS_ARGS="$TLS_ARGS --fake-super"    case "`xattr 2>&1`" in    *--list:*)	chown() {	    own=$1	    shift	    xattr -s 'rsync.%stat' "100644 0,0 $own" "${@}"	}	;;    *)	chown() {	    own=$1	    shift	    setfattr -n 'user.rsync.%stat' -v "100644 0,0 $own" "${@}"	}	;;    esac    ;;*)    RSYNC="$RSYNC --super"    case `id -u` in    '') ;; # If "id" failed, try to continue...    0)  ;;    *)  if [ -f /usr/bin/fakeroot ]; then	    echo "Let's try re-running the script under fakeroot..."	    exec /usr/bin/fakeroot /bin/sh "$0"	fi	;;    esac    ;;esac# Build some hardlinksmkdir "$fromdir"name1="$fromdir/name1"name2="$fromdir/name2"echo "This is the file" > "$name1"echo "This is the other file" > "$name2"chown 5000:5002 "$name1" || test_skipped "Can't chown (probably need root)"chown 5001:5003 "$name2" || test_skipped "Can't chown (probably need root)"cd "$fromdir/.."checkit "$RSYNC -aHvv from/ to/" "$fromdir" "$todir"# The script would have aborted on error, so getting here means we've won.exit 0

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?