回答編集履歴
2
追記
answer
CHANGED
@@ -19,4 +19,68 @@
|
|
19
19
|
done
|
20
20
|
|
21
21
|
...
|
22
|
-
```
|
22
|
+
```
|
23
|
+
|
24
|
+
---
|
25
|
+
---
|
26
|
+
|
27
|
+
追記。
|
28
|
+
|
29
|
+
> >別案。files変数からgetとdeleteのコマンドを生成して、まとめてftpに食わせる。
|
30
|
+
> 何度も申し訳ありません。
|
31
|
+
> こちらの案ですが、どのようにfile変数からコマンドを生成するのでしょうか?
|
32
|
+
> 試しに
|
33
|
+
> getCommnd=("get test.jpg" "get test2.jpg")
|
34
|
+
> として、ftpのヒアドキュメントのget使用箇所に
|
35
|
+
> ${getCommnd[@]}
|
36
|
+
> として置換えてみましたが、コマンドと認識されませんでした。
|
37
|
+
|
38
|
+
|
39
|
+
ftp環境なんて身近に建っていないので、ローカルなファイルを例に。
|
40
|
+
|
41
|
+
```shell
|
42
|
+
$ ls hoge
|
43
|
+
a b c d e f
|
44
|
+
```
|
45
|
+
|
46
|
+
```shell
|
47
|
+
$ cat xx.sh
|
48
|
+
#!/bin/sh
|
49
|
+
|
50
|
+
files=$(cd hoge; ls)
|
51
|
+
|
52
|
+
(
|
53
|
+
echo user id password
|
54
|
+
|
55
|
+
for f in ${files}
|
56
|
+
do
|
57
|
+
cat <<EOD
|
58
|
+
get hoge/${f} local/${f}
|
59
|
+
del hoge/${f}
|
60
|
+
EOD
|
61
|
+
done
|
62
|
+
|
63
|
+
echo bye
|
64
|
+
) | cat
|
65
|
+
```
|
66
|
+
|
67
|
+
```shell
|
68
|
+
$ sh xx.sh
|
69
|
+
user id password
|
70
|
+
get hoge/a local/a
|
71
|
+
del hoge/a
|
72
|
+
get hoge/b local/b
|
73
|
+
del hoge/b
|
74
|
+
get hoge/c local/c
|
75
|
+
del hoge/c
|
76
|
+
get hoge/d local/d
|
77
|
+
del hoge/d
|
78
|
+
get hoge/e local/e
|
79
|
+
del hoge/e
|
80
|
+
get hoge/f local/f
|
81
|
+
del hoge/f
|
82
|
+
bye
|
83
|
+
```
|
84
|
+
|
85
|
+
xx.shの最後のcatをftp -nとかに変える。
|
86
|
+
なお、ftpのサブコマンド自体、さっぱり思い出せないので内容はとても適当です。
|
1
typo
answer
CHANGED
@@ -6,6 +6,8 @@
|
|
6
6
|
|
7
7
|
files=$(ftp <<EOD
|
8
8
|
...
|
9
|
+
dir
|
10
|
+
...
|
9
11
|
EOD
|
10
12
|
)
|
11
13
|
|