回答編集履歴

2

追記

2021/08/11 12:30

投稿

shiketa
shiketa

スコア4133

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

2021/08/11 12:30

投稿

shiketa
shiketa

スコア4133

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