質問編集履歴

3

変更

2018/07/20 03:09

投稿

yajin
yajin

スコア75

test CHANGED
File without changes
test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
 
36
36
 
37
- どのようにしたらよいでしょうか。1つのユーザは登録できますが、2つ目以降うまくいっていないようです。
37
+ どのようにしたらよいでしょうか。
38
38
 
39
39
  ユーザの登録結果表示を無視するexpectコマンドで対話を無視したりpdbeditのユーザ登録結果表示を非表示するオプションがあれば伺いたく思っています。
40
40
 
@@ -42,85 +42,29 @@
42
42
 
43
43
  ### 発生している問題・エラーメッセージ
44
44
 
45
+ 表面上はエラーがでてこず、困っています。
45
46
 
47
+ 個別に
46
48
 
47
- ```
49
+ pdbedit -a ユーザ名
48
50
 
49
- # /home/hoge/sambauser.sh
51
+ パスワード
50
52
 
51
- invalid command name "for((i"
52
-
53
- while executing
53
+ パスワード
54
-
55
- "for((i = 0"
56
54
 
57
55
 
58
56
 
59
- ```
57
+ と入力するとパスワード変更はできます。
60
58
 
61
- とでます。
59
+
60
+
61
+
62
62
 
63
63
  ### ソースコード
64
64
 
65
65
 
66
66
 
67
- ```bash
68
67
 
69
- #!/bin/bash
70
-
71
-
72
-
73
- array=(
74
-
75
- "user01"
76
-
77
- "hogehoge"
78
-
79
- "user02"
80
-
81
- "fugafuga"
82
-
83
- )
84
-
85
-
86
-
87
-
88
-
89
- expect -c "
90
-
91
-
92
-
93
- for((i = 0; i < ${#array[@]}; i++)) {
94
-
95
- spawn pdbedit -a ${array[i]}
96
-
97
- let i++
98
-
99
- expect \"new password:\"
100
-
101
-
102
-
103
- send \"${array[i]}\n\"
104
-
105
- expect \"retype new password:\"
106
-
107
- send \"${array[i]}\n\"
108
-
109
- }
110
-
111
-
112
-
113
- expect "
114
-
115
-
116
-
117
- ```
118
-
119
-
120
-
121
- 追記:
122
-
123
- これを以下のように直したらエラーはでなくなりましたが、1こめの認証はとおるものの、2こめ以降の認証がとおらないようです。
124
68
 
125
69
  ```bash
126
70
 

2

修正

2018/07/20 03:09

投稿

yajin
yajin

スコア75

test CHANGED
File without changes
test CHANGED
@@ -130,11 +130,11 @@
130
130
 
131
131
  array=(
132
132
 
133
- "weba01"
133
+ "user01"
134
134
 
135
135
  "hogehoge"
136
136
 
137
- "weba02"
137
+ "user02"
138
138
 
139
139
  "fugafuga"
140
140
 

1

追記

2018/07/19 09:45

投稿

yajin
yajin

スコア75

test CHANGED
File without changes
test CHANGED
@@ -13,6 +13,30 @@
13
13
  で入力したあと、パスワードを2回聞かれるのでexpectで対話対応をするシェルスクリプトを書いています。
14
14
 
15
15
 
16
+
17
+ 追記:
18
+
19
+ 動くようにはなったのですが、ユーザ登録がうまくいかないようです。
20
+
21
+ 理由はpdbedit -a ユーザ名
22
+
23
+ パスワード
24
+
25
+ パスワード
26
+
27
+ ユーザの登録結果表示
28
+
29
+
30
+
31
+ という具合になるので、
32
+
33
+ ユーザの登録結果表示が対話の邪魔になってしまいます。
34
+
35
+
36
+
37
+ どのようにしたらよいでしょうか。1つのユーザは登録できますが、2つ目以降うまくいっていないようです。
38
+
39
+ ユーザの登録結果表示を無視するexpectコマンドで対話を無視したりpdbeditのユーザ登録結果表示を非表示するオプションがあれば伺いたく思っています。
16
40
 
17
41
 
18
42
 
@@ -94,13 +118,75 @@
94
118
 
95
119
 
96
120
 
121
+ 追記:
122
+
123
+ これを以下のように直したらエラーはでなくなりましたが、1こめの認証はとおるものの、2こめ以降の認証がとおらないようです。
124
+
97
- ### 試したこと
125
+ ```bash
126
+
127
+ #!/bin/bash
98
128
 
99
129
 
100
130
 
101
- 対話型の書き方はどのようにしたらよいのでしょうか。
131
+ array=(
102
132
 
133
+ "weba01"
134
+
135
+ "hogehoge"
136
+
137
+ "weba02"
138
+
139
+ "fugafuga"
140
+
141
+ )
142
+
143
+
144
+
145
+
146
+
147
+ #expect -c "
148
+
149
+
150
+
103
- forの中に入れるべきなのか、外にするべきなのかがよくわかっていませんん。
151
+ for((i = 0; i < ${#array[@]}; i++)) {
152
+
153
+ expect -c "
154
+
155
+ spawn pdbedit -a ${array[i]}
156
+
157
+ expect "
158
+
159
+ let i++
160
+
161
+ expect -c "
162
+
163
+ expect \"new password:\"
164
+
165
+
166
+
167
+ send \"${array[i]}\n\"
168
+
169
+ expect \"retype new password:\"
170
+
171
+ send \"${array[i]}\n\"
172
+
173
+ expect "
174
+
175
+ }
176
+
177
+
178
+
179
+ #expect "
180
+
181
+
182
+
183
+ ```
184
+
185
+
186
+
187
+
188
+
189
+
104
190
 
105
191
 
106
192