sftp-cmds.sh revision 1.3
1# $OpenBSD: sftp-cmds.sh,v 1.3 2003/04/04 09:34:22 djm Exp $ 2# Placed in the Public Domain. 3 4# XXX - TODO: 5# - globbed operations 6# - chmod / chown / chgrp 7# - -p flag for get & put 8 9tid="sftp commands" 10 11DATA=/bin/ls 12COPY=${OBJ}/copy 13 14rm -rf ${COPY} ${COPY}.1 ${COPY}.2 ${COPY}.dd ${COPY}.dd2 ${BATCH}.* 15 16verbose "$tid: lls" 17echo "lls ${OBJ}" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ 18 || fail "lls failed" 19# XXX always successful 20 21verbose "$tid: ls" 22echo "ls ${OBJ}" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ 23 || fail "ls failed" 24# XXX always successful 25 26verbose "$tid: shell" 27echo "!echo hi there" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ 28 || fail "shell failed" 29# XXX always successful 30 31verbose "$tid: pwd" 32echo "pwd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ 33 || fail "pwd failed" 34# XXX always successful 35 36verbose "$tid: lpwd" 37echo "lpwd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ 38 || fail "lpwd failed" 39# XXX always successful 40 41verbose "$tid: quit" 42echo "quit" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ 43 || fail "quit failed" 44# XXX always successful 45 46verbose "$tid: help" 47echo "help" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ 48 || fail "help failed" 49# XXX always successful 50 51rm -f ${COPY} 52verbose "$tid: get" 53echo "get $DATA $COPY" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ 54 || fail "get failed" 55cmp $DATA ${COPY} || fail "corrupted copy after get" 56 57rm -f ${COPY} 58verbose "$tid: put" 59echo "put $DATA $COPY" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ 60 || fail "put failed" 61cmp $DATA ${COPY} || fail "corrupted copy after put" 62 63verbose "$tid: rename" 64echo "rename $COPY ${COPY}.1" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ 65 || fail "rename failed" 66test -f ${COPY}.1 || fail "missing file after rename" 67cmp $DATA ${COPY}.1 >/dev/null 2>&1 || fail "corrupted copy after rename" 68 69mkdir ${COPY}.dd 70verbose "$tid: rename directory" 71echo "rename ${COPY}.dd ${COPY}.dd2" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ 72 || fail "rename directory failed" 73test -d ${COPY}.dd && fail "oldname exists after rename directory" 74test -d ${COPY}.dd2 || fail "missing newname after rename directory" 75 76verbose "$tid: ln" 77echo "ln ${COPY}.1 ${COPY}.2" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 || fail "ln failed" 78test -L ${COPY}.2 || fail "missing file after ln" 79 80verbose "$tid: mkdir" 81echo "mkdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ 82 || fail "mkdir failed" 83test -d ${COPY}.dd || fail "missing directory after mkdir" 84 85# XXX do more here 86verbose "$tid: chdir" 87echo "chdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ 88 || fail "chdir failed" 89 90verbose "$tid: rmdir" 91echo "rmdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ 92 || fail "rmdir failed" 93test -d ${COPY}.1 && fail "present directory after rmdir" 94 95verbose "$tid: lmkdir" 96echo "lmkdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ 97 || fail "lmkdir failed" 98test -d ${COPY}.dd || fail "missing directory after lmkdir" 99 100# XXX do more here 101verbose "$tid: lchdir" 102echo "lchdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ 103 || fail "lchdir failed" 104 105rm -rf ${COPY} ${COPY}.1 ${COPY}.2 ${COPY}.dd ${COPY}.dd2 ${BATCH}.* 106 107 108