]>
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 | ||
10 | DATA=/bin/ls | |
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 | ||
8582624b | 20 | |
86d0260c | 21 | # Path with embedded quote |
22 | QUOTECOPY=${COPY}".\"blah\"" | |
23 | QUOTECOPY_ARG=${COPY}'.\"blah\"' | |
24 | ||
2c670155 | 25 | rm -rf ${COPY} ${COPY}.1 ${COPY}.2 ${COPY}.dd ${COPY}.dd2 ${BATCH}.* |
68df2aa0 | 26 | mkdir ${COPY}.dd |
8582624b | 27 | |
28 | verbose "$tid: lls" | |
29 | echo "lls ${OBJ}" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
30 | || fail "lls failed" | |
31 | # XXX always successful | |
32 | ||
33 | verbose "$tid: ls" | |
34 | echo "ls ${OBJ}" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
35 | || fail "ls failed" | |
36 | # XXX always successful | |
37 | ||
38 | verbose "$tid: shell" | |
39 | echo "!echo hi there" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
40 | || fail "shell failed" | |
41 | # XXX always successful | |
42 | ||
43 | verbose "$tid: pwd" | |
44 | echo "pwd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
45 | || fail "pwd failed" | |
46 | # XXX always successful | |
47 | ||
48 | verbose "$tid: lpwd" | |
49 | echo "lpwd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
50 | || fail "lpwd failed" | |
51 | # XXX always successful | |
52 | ||
53 | verbose "$tid: quit" | |
54 | echo "quit" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
55 | || fail "quit failed" | |
56 | # XXX always successful | |
57 | ||
58 | verbose "$tid: help" | |
59 | echo "help" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
60 | || fail "help failed" | |
61 | # XXX always successful | |
62 | ||
63 | rm -f ${COPY} | |
64 | verbose "$tid: get" | |
65 | echo "get $DATA $COPY" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
66 | || fail "get failed" | |
67 | cmp $DATA ${COPY} || fail "corrupted copy after get" | |
68 | ||
68df2aa0 | 69 | rm -f ${COPY}.dd/* |
70 | verbose "$tid: get to directory" | |
71 | echo "get $DATA ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
72 | || fail "get failed" | |
73 | cmp $DATA ${COPY}.dd/ls || fail "corrupted copy after get" | |
74 | ||
75 | rm -f ${COPY}.dd/* | |
76 | verbose "$tid: glob get to directory" | |
77 | echo "get /bin/l* ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
78 | || fail "get failed" | |
79 | for x in $GLOBFILES; do | |
80 | cmp /bin/$x ${COPY}.dd/$x || fail "corrupted copy after get" | |
81 | done | |
82 | ||
83 | rm -f ${COPY}.dd/* | |
84 | verbose "$tid: get to local dir" | |
85 | echo "lcd ${COPY}.dd\nget $DATA" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
86 | || fail "get failed" | |
87 | cmp $DATA ${COPY}.dd/ls || fail "corrupted copy after get" | |
88 | ||
89 | rm -f ${COPY}.dd/* | |
90 | verbose "$tid: glob get to local dir" | |
91 | echo "lcd ${COPY}.dd\nget /bin/l*" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
92 | || fail "get failed" | |
93 | for x in $GLOBFILES; do | |
94 | cmp /bin/$x ${COPY}.dd/$x || fail "corrupted copy after get" | |
95 | done | |
96 | ||
8582624b | 97 | rm -f ${COPY} |
98 | verbose "$tid: put" | |
99 | echo "put $DATA $COPY" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
100 | || fail "put failed" | |
101 | cmp $DATA ${COPY} || fail "corrupted copy after put" | |
102 | ||
86d0260c | 103 | rm -f ${QUOTECOPY} |
104 | verbose "$tid: put filename with quotes" | |
105 | echo "put $DATA \"$QUOTECOPY_ARG\"" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
106 | || fail "put failed" | |
107 | cmp $DATA ${QUOTECOPY} || fail "corrupted copy after put with quotes" | |
108 | ||
68df2aa0 | 109 | rm -f ${COPY}.dd/* |
110 | verbose "$tid: put to directory" | |
111 | echo "put $DATA ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
112 | || fail "put failed" | |
113 | cmp $DATA ${COPY}.dd/ls || fail "corrupted copy after put" | |
114 | ||
115 | rm -f ${COPY}.dd/* | |
116 | verbose "$tid: glob put to directory" | |
117 | echo "put /bin/l* ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
118 | || fail "put failed" | |
119 | for x in $GLOBFILES; do | |
120 | cmp /bin/$x ${COPY}.dd/$x || fail "corrupted copy after put" | |
121 | done | |
122 | ||
123 | rm -f ${COPY}.dd/* | |
124 | verbose "$tid: put to local dir" | |
125 | echo "cd ${COPY}.dd\nput $DATA" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
126 | || fail "put failed" | |
127 | cmp $DATA ${COPY}.dd/ls || fail "corrupted copy after put" | |
128 | ||
129 | rm -f ${COPY}.dd/* | |
130 | verbose "$tid: glob put to local dir" | |
131 | echo "cd ${COPY}.dd\nput /bin/l*" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
132 | || fail "put failed" | |
133 | for x in $GLOBFILES; do | |
134 | cmp /bin/$x ${COPY}.dd/$x || fail "corrupted copy after put" | |
135 | done | |
136 | ||
8582624b | 137 | verbose "$tid: rename" |
138 | echo "rename $COPY ${COPY}.1" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
139 | || fail "rename failed" | |
140 | test -f ${COPY}.1 || fail "missing file after rename" | |
141 | cmp $DATA ${COPY}.1 >/dev/null 2>&1 || fail "corrupted copy after rename" | |
142 | ||
2c670155 | 143 | verbose "$tid: rename directory" |
144 | echo "rename ${COPY}.dd ${COPY}.dd2" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
145 | || fail "rename directory failed" | |
146 | test -d ${COPY}.dd && fail "oldname exists after rename directory" | |
147 | test -d ${COPY}.dd2 || fail "missing newname after rename directory" | |
148 | ||
8582624b | 149 | verbose "$tid: ln" |
150 | echo "ln ${COPY}.1 ${COPY}.2" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 || fail "ln failed" | |
151 | test -L ${COPY}.2 || fail "missing file after ln" | |
152 | ||
153 | verbose "$tid: mkdir" | |
154 | echo "mkdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
155 | || fail "mkdir failed" | |
156 | test -d ${COPY}.dd || fail "missing directory after mkdir" | |
157 | ||
158 | # XXX do more here | |
159 | verbose "$tid: chdir" | |
160 | echo "chdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
161 | || fail "chdir failed" | |
162 | ||
163 | verbose "$tid: rmdir" | |
164 | echo "rmdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
165 | || fail "rmdir failed" | |
166 | test -d ${COPY}.1 && fail "present directory after rmdir" | |
167 | ||
168 | verbose "$tid: lmkdir" | |
169 | echo "lmkdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
170 | || fail "lmkdir failed" | |
171 | test -d ${COPY}.dd || fail "missing directory after lmkdir" | |
172 | ||
173 | # XXX do more here | |
174 | verbose "$tid: lchdir" | |
175 | echo "lchdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \ | |
176 | || fail "lchdir failed" | |
177 | ||
2c670155 | 178 | rm -rf ${COPY} ${COPY}.1 ${COPY}.2 ${COPY}.dd ${COPY}.dd2 ${BATCH}.* |
8582624b | 179 | |
180 |