shell窗口,可以理解为人机交互的一个窗口界面。
系统提供该窗口,用户在窗口中输入命令,shell解释命令,转换为系统能处理的指令。
Windows中的dos窗口,linux中的terminal窗口,都可以叫做shell窗口。
如果是本地账户的话,用mail就可以了;或者直接 *** 作/var/spool/mail/user如果是像163,sina,gmail等邮箱的话,shell做不到,你可以考虑用python,直接上网查就有了。比如以下:
#!/usr/local/bin/python
#
# mailh.py
# remember user-pass-stat/list-top-dele/retr-quit
import poplib, getpass, string, sys
host = raw_input("The hostname: ")
if (len(host)) == 0:
host = 'pop3.gmail.com'
username = 'xxxx@gmail.com'
password = 'xxxx'
else:
username = raw_input("your username: ")
password = getpass.getpass()
try:
sess = poplib.POP3(host)
sess.user(username)
sess.pass_(password)
except:
print "O^O, there is an error in opening connection!"
sys.exit()
nMess = sess.stat()[0]
headers = []
for i in range(1, nMess+1):
mesg = sess.top(i,0)
print i, mesg[0]
for j in range(len(mesg[1])):
if mesg[1][j][0:5] == 'From:' or mesg[1][j][0:5] == 'Date:' \
or mesg[1][j][0:8] == 'Subject:' or mesg[1][j][0:3] == 'To:':
print mesg[1][j]
headers.append(mesg[1][j])
if nMess>0:
print "Received %i message total."%(nMess)
else:
print "Nop, no mail on ", host, "for", username
sess.quit()
是linux系统么?那推荐使用sed,一条命令即可:
比如,要将目录/modules下面所有文件中的“zhangsan”都修改成“lisi”,这样做:
sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules`解释一下参数:
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
这个命令组合很强大,要注意备份文件
那你要的完整程序就是:
#!/bin/bashread -p "请输入要替换的字符串:" var1
read -p "请输入替换后的字符串:" var2
sed -i "s/$var1/$var2/g" `grep $var1 -rl ./modules`
exit
请注意,以上代码定义到了当前的modules目录,如果你要修改被的目录请自定义,当然你也可以使用read读取你输入的目录,依葫芦画瓢我就不多说了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)