我想将消息广播到我的Raspbian上的所有bash终端。
我知道这里有wall命令来执行该步骤,我可以使用os.system python模块来执行该命令。
但是,运行命令“ wall text.txt”需要sudo特权。有什么办法可以在python的stdin中使用wall命令?
确实需要成为超级用户才能wall
使用输入文件运行,它man
说:
NAME
wall - write a message to users
SYNOPSIS
wall [file]
DESCRIPTION
Wall displays the contents of file or, by default, its standard input, on the terminals of all currently logged in users.
Only the super-user can write on the terminals of users who have chosen to deny messages or are using a program which automatically denies messages.
Reading from a file is refused when the invoker is not superuser and the program is suid or sgid.
但是您可以这样做:
$ echo hello hello >text.txt
$ python
Python 2.7.1 (r271:86832, Mar 18 2011, 09:09:48)
[GCC 4.5.0 20100604 [gcc-4_5-branch revision 160292]] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.system('cat text.txt | wall')
Broadcast Message from mak@vader
(/dev/pts/14) at 10:31 ...
hello hello
Broadcast Message from mak@vader
(/dev/pts/14) at 10:31 ...
hello hello
0
>>>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句