2017-05-15 6 views
0

Neu zu erwartender Befehl, In Solaris 11 ist das expect Paket enthalten, und ich verstehe unter Linux, dass es sehr nützlich für die Automatisierung ist.expect Befehl in Solaris 11

Ich versuche, um 10 Benutzer zu erstellen und ein Kennwort für die Benutzer durch ein Skript festzulegen.

#!/usr/bin/expect 
spawn /usr/bin/passwd user1 
expect "New password: \n" 
send "Userpass123$\r" 
expect "Re-enter new Password: \n" 
send "Userpass123$\r" 

Das Passwort richtig ist, wird eingestellt, aber seine fast 20 Sekunden unter das Passwort für einen einzelnen Benutzer zu setzen,

Finden Sie die Ausgabe unter

JUDI-DEV-01# time /tmp/123 
spawn /usr/bin/passwd user1 
New Password: 
Re-enter new Password: 
real 0m20.023s 
user 0m0.005s 
sys  0m0.005s 
JUDI-DEV-01# 

Bitte helfen Sie mir das beim Abrufen Benutzer-ID, UID, GID, Heimverzeichnis, aus einer Datei und zum Erstellen der Benutzerkonten Beispiel Dateidaten ist/tmp/userlist

user1:150:20:App User1:/export/home/user1:/bin/ksh 
user2:151:20:App User2:/export/home/user2:/bin/ksh 
user3:152:20:App User3:/export/home/user3:/bin/ksh 

dbuser1:201:30:db user1:/export/home/dbuser1:/usr/bin/ksh 
dbuser2:202:30:db user1:/export/home/dbuser2:/usr/bin/ksh 

Ich kenne die Werte auf unterschiedliche Variablen in Shell-Skript zu trennen, nicht sicher, wie es in erwarten

Antwort

2

Nachdem das Passwort zum zweiten Mal zu senden, fügen expect eof funktioniert. Dies gewährleistet den Abschluss des Programms.

send "Userpass123$\r" 
expect eof 

die Werte So teilen Sie split Befehl

% split "dbuser1:201:30:db user1:/export/home/dbuser1:/usr/bin/ksh" : 
dbuser1 201 30 {db user1} /export/home/dbuser1 /usr/bin/ksh 
% 
verwenden können
Verwandte Themen