]>
Commit | Line | Data |
---|---|---|
86d0260c | 1 | # $OpenBSD: sftp-cmds.sh,v 1.5 2003/07/19 00:46:31 djm Exp $ |
8582624b | 2 | # Placed in the Public Domain. |
3 | ||
4 | # XXX - TODO: | |
8582624b | 5 | # - chmod / chown / chgrp |
6 | # - -p flag for get & put | |
7 | ||
8 | tid="sftp commands" | |
9 | ||
83d96134 | 10 | DATA=/bin/ls${EXEEXT} |
8582624b | 11 | COPY=${OBJ}/copy |
783a8283 | 12 | # test that these files are readable! |
13 | for i in `(cd /bin;echo l*)` | |
14 | do | |
15 | if [ -r $i ]; then | |
16 | GLOBFILES="$GLOBFILES $i" | |
17 | fi | |
18 | done | |
19 | ||
86d0260c | 20 | # Path with embedded quote |
21 | QUOTECOPY=${COPY}".\"blah\"" | |
22 | QUOTECOPY_ARG=${COPY}'.\"blah\"' | |
23 | ||
2c670155 | 24 | rm -rf ${COPY} ${COPY}.1 ${COPY}.2 ${COPY}.dd ${COPY}.dd2 ${BATCH}.* |
68df2aa0 | 25 | mkdir ${COPY}.dd |
8582624b | 26 | |
27 | verbose "$tid: lls" | |
28 | echo "lls ${OBJ}" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
29 | || fail "lls failed" | |
30 | # XXX always successful | |
31 | ||
32 | verbose "$tid: ls" | |
33 | echo "ls ${OBJ}" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
34 | || fail "ls failed" | |
35 | # XXX always successful | |
36 | ||
37 | verbose "$tid: shell" | |
38 | echo "!echo hi there" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
39 | || fail "shell failed" | |
40 | # XXX always successful | |
41 | ||
42 | verbose "$tid: pwd" | |
43 | echo "pwd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
44 | || fail "pwd failed" | |
45 | # XXX always successful | |
46 | ||
47 | verbose "$tid: lpwd" | |
48 | echo "lpwd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
49 | || fail "lpwd failed" | |
50 | # XXX always successful | |
51 | ||
52 | verbose "$tid: quit" | |
53 | echo "quit" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
54 | || fail "quit failed" | |
55 | # XXX always successful | |
56 | ||
57 | verbose "$tid: help" | |
58 | echo "help" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
59 | || fail "help failed" | |
60 | # XXX always successful | |
61 | ||
62 | rm -f ${COPY} | |
63 | verbose "$tid: get" | |
64 | echo "get $DATA $COPY" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
65 | || fail "get failed" | |
66 | cmp $DATA ${COPY} || fail "corrupted copy after get" | |
67 | ||
68df2aa0 | 68 | rm -f ${COPY}.dd/* |
69 | verbose "$tid: get to directory" | |
70 | echo "get $DATA ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
71 | || fail "get failed" | |
83d96134 | 72 | cmp $DATA ${COPY}.dd/`basename $DATA` || fail "corrupted copy after get" |
68df2aa0 | 73 | |
74 | rm -f ${COPY}.dd/* | |
75 | verbose "$tid: glob get to directory" | |
76 | echo "get /bin/l* ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
77 | || fail "get failed" | |
78 | for x in $GLOBFILES; do | |
79 | cmp /bin/$x ${COPY}.dd/$x || fail "corrupted copy after get" | |
80 | done | |
81 | ||
82 | rm -f ${COPY}.dd/* | |
83 | verbose "$tid: get to local dir" | |
83d96134 | 84 | (echo "lcd ${COPY}.dd"; echo "get $DATA" ) | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ |
68df2aa0 | 85 | || fail "get failed" |
83d96134 | 86 | cmp $DATA ${COPY}.dd/`basename $DATA` || fail "corrupted copy after get" |
68df2aa0 | 87 | |
88 | rm -f ${COPY}.dd/* | |
89 | verbose "$tid: glob get to local dir" | |
83d96134 | 90 | (echo "lcd ${COPY}.dd"; echo "get /bin/l*") | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ |
68df2aa0 | 91 | || fail "get failed" |
92 | for x in $GLOBFILES; do | |
93 | cmp /bin/$x ${COPY}.dd/$x || fail "corrupted copy after get" | |
94 | done | |
95 | ||
8582624b | 96 | rm -f ${COPY} |
97 | verbose "$tid: put" | |
98 | echo "put $DATA $COPY" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
99 | || fail "put failed" | |
100 | cmp $DATA ${COPY} || fail "corrupted copy after put" | |
101 | ||
86d0260c | 102 | rm -f ${QUOTECOPY} |
103 | verbose "$tid: put filename with quotes" | |
104 | echo "put $DATA \"$QUOTECOPY_ARG\"" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
105 | || fail "put failed" | |
106 | cmp $DATA ${QUOTECOPY} || fail "corrupted copy after put with quotes" | |
107 | ||
68df2aa0 | 108 | rm -f ${COPY}.dd/* |
109 | verbose "$tid: put to directory" | |
110 | echo "put $DATA ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
111 | || fail "put failed" | |
83d96134 | 112 | cmp $DATA ${COPY}.dd/`basename $DATA` || fail "corrupted copy after put" |
68df2aa0 | 113 | |
114 | rm -f ${COPY}.dd/* | |
115 | verbose "$tid: glob put to directory" | |
116 | echo "put /bin/l* ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
117 | || fail "put failed" | |
118 | for x in $GLOBFILES; do | |
119 | cmp /bin/$x ${COPY}.dd/$x || fail "corrupted copy after put" | |
120 | done | |
121 | ||
122 | rm -f ${COPY}.dd/* | |
123 | verbose "$tid: put to local dir" | |
83d96134 | 124 | (echo "cd ${COPY}.dd"; echo "put $DATA") | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ |
68df2aa0 | 125 | || fail "put failed" |
83d96134 | 126 | cmp $DATA ${COPY}.dd/`basename $DATA` || fail "corrupted copy after put" |
68df2aa0 | 127 | |
128 | rm -f ${COPY}.dd/* | |
129 | verbose "$tid: glob put to local dir" | |
83d96134 | 130 | (echo "cd ${COPY}.dd"; echo "put /bin/l*") | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ |
68df2aa0 | 131 | || fail "put failed" |
132 | for x in $GLOBFILES; do | |
133 | cmp /bin/$x ${COPY}.dd/$x || fail "corrupted copy after put" | |
134 | done | |
135 | ||
8582624b | 136 | verbose "$tid: rename" |
137 | echo "rename $COPY ${COPY}.1" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
138 | || fail "rename failed" | |
139 | test -f ${COPY}.1 || fail "missing file after rename" | |
140 | cmp $DATA ${COPY}.1 >/dev/null 2>&1 || fail "corrupted copy after rename" | |
141 | ||
2c670155 | 142 | verbose "$tid: rename directory" |
143 | echo "rename ${COPY}.dd ${COPY}.dd2" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
144 | || fail "rename directory failed" | |
145 | test -d ${COPY}.dd && fail "oldname exists after rename directory" | |
146 | test -d ${COPY}.dd2 || fail "missing newname after rename directory" | |
147 | ||
8582624b | 148 | verbose "$tid: ln" |
149 | echo "ln ${COPY}.1 ${COPY}.2" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 || fail "ln failed" | |
a687e172 | 150 | test -h ${COPY}.2 || fail "missing file after ln" |
8582624b | 151 | |
152 | verbose "$tid: mkdir" | |
153 | echo "mkdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
154 | || fail "mkdir failed" | |
155 | test -d ${COPY}.dd || fail "missing directory after mkdir" | |
156 | ||
157 | # XXX do more here | |
158 | verbose "$tid: chdir" | |
159 | echo "chdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
160 | || fail "chdir failed" | |
161 | ||
162 | verbose "$tid: rmdir" | |
163 | echo "rmdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
164 | || fail "rmdir failed" | |
165 | test -d ${COPY}.1 && fail "present directory after rmdir" | |
166 | ||
167 | verbose "$tid: lmkdir" | |
168 | echo "lmkdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
169 | || fail "lmkdir failed" | |
170 | test -d ${COPY}.dd || fail "missing directory after lmkdir" | |
171 | ||
172 | # XXX do more here | |
173 | verbose "$tid: lchdir" | |
174 | echo "lchdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
175 | || fail "lchdir failed" | |
176 | ||
2c670155 | 177 | rm -rf ${COPY} ${COPY}.1 ${COPY}.2 ${COPY}.dd ${COPY}.dd2 ${BATCH}.* |
8582624b | 178 | |
179 |