यह दुर्भाग्य से दो कारणों से वांछनीय नहीं है:
1) यदि उपयोगकर्ता पासवर्ड में '\ n' के संयोजन का उपयोग करता है तो इनपुट में एक मेल नहीं होगा
2) यदि सिस्टम पर यूनिक्स उपयोगकर्ता हैं, तो यूटिलिटी पीएस का उपयोग करने वाला उपयोगकर्ता पासवर्ड देख सकता है
एक बेहतर तरीका है कि नामों को फाइल में डालें और फ़ाइल से पढ़ें और उन्हें पढ़ने के लिए पायथन pexpect का उपयोग करें, नीचे की तरह नहीं, लेकिन सरल स्क्रिप्ट पर्याप्त है कि pexpect का उपयोग कैसे करें
#!/usr/bin/python
#converted from: http://pexpect.sourceforge.net/pexpect.html
#child = pexpect.spawn('scp foo [email protected]:.')
#child.expect ('Password:')
#child.sendline (mypassword)
import pexpect
import sys
user=sys.argv[1]
passwd=sys.argv[2]
child = pexpect.spawn('/usr/bin/smbpasswd -a '+str(user))
child.expect('New SMB password:')
child.sendline (passwd)
child.expect ('Retype new SMB password:')
child.sendline (passwd)
then try: ./smbpasswd.py userName1 'f#@(&*(_\n895'