1 # $OpenBSD: sftp-batch.sh,v 1.4 2009/08/13 01:11:55 djm Exp $ 2 # Placed in the Public Domain. 3 4 tid="sftp batchfile" 5 6 DATA=/bin/ls${EXEEXT} 7 COPY=${OBJ}/copy 8 BATCH=${OBJ}/sftp.bb 9 10 rm -rf ${COPY} ${COPY}.1 ${COPY}.2 ${COPY}.dd ${BATCH}.* 11 12 cat << EOF > ${BATCH}.pass.1 13 get $DATA $COPY 14 put ${COPY} ${COPY}.1 15 rm ${COPY} 16 -put ${COPY} ${COPY}.2 17 EOF 18 19 cat << EOF > ${BATCH}.pass.2 20 # This is a comment 21 22 # That was a blank line 23 ls 24 EOF 25 26 cat << EOF > ${BATCH}.fail.1 27 get $DATA $COPY 28 put ${COPY} ${COPY}.3 29 rm ${COPY}.* 30 # The next command should fail 31 put ${COPY}.3 ${COPY}.4 32 EOF 33 34 cat << EOF > ${BATCH}.fail.2 35 # The next command should fail 36 jajajajaja 37 EOF 38 39 verbose "$tid: good commands" 40 ${SFTP} -b ${BATCH}.pass.1 -D ${SFTPSERVER} >/dev/null 2>&1 \ 41 || fail "good commands failed" 42 43 verbose "$tid: bad commands" 44 ${SFTP} -b ${BATCH}.fail.1 -D ${SFTPSERVER} >/dev/null 2>&1 \ 45 && fail "bad commands succeeded" 46 47 verbose "$tid: comments and blanks" 48 ${SFTP} -b ${BATCH}.pass.2 -D ${SFTPSERVER} >/dev/null 2>&1 \ 49 || fail "comments & blanks failed" 50 51 verbose "$tid: junk command" 52 ${SFTP} -b ${BATCH}.fail.2 -D ${SFTPSERVER} >/dev/null 2>&1 \ 53 && fail "junk command succeeded" 54 55 rm -rf ${COPY} ${COPY}.1 ${COPY}.2 ${COPY}.dd ${BATCH}.* 56 57 58