如何使用带有 stdin 的 wall 命令将消息广播到 python 中的所有 bash 终端?

2024-01-10

我想向我的树莓派上的所有 bash 终端广播消息。

我知道有 wall 命令来执行该步骤,我可以使用 os.system python 模块来执行该命令。

但是,运行命令“wall text.txt”需要 sudo 权限。有没有办法将 wall 命令与 python 的 stdin 一起使用?


确实需要超级用户才能运行wall带有输入文件,man says:

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
>>> 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用带有 stdin 的 wall 命令将消息广播到 python 中的所有 bash 终端? 的相关文章

随机推荐

  • Python 定义迭代器类失败,并显示“iter() 返回了‘Fib’类型的非迭代器”

    我正在使用 python 2 7 和 ipython2 7 在 ipython 中我尝试过 class Fib object def init self max super Fib self init self max max def it
  • 在 Magento 中获取基本产品图像

    我想要得到baseMagento 中的产品图像可调整其大小并显示在购物车侧边栏中 不幸的是 echo this gt helper catalog image gt init product image gt resize 38 38 打印
  • MSIE 9 中的“GET”ting AngularJS 资源返回空数组

    Problem 当使用GET来自一个的请求 resource 仅在 Microsoft Internet Explorer 9 中 成功的响应是空数组 Tests 成功场景 使用 FF 或 Chrome GET请求返回开发环境和本地环境中的
  • 包装应用

    我们有一个 Windows 应用程序 我们使用 Wise 进行部署 最近我们改用InstallAware 虽然它有一些优点 但我们面临一些问题 有人可以推荐另一个部署和打包应用程序吗 我们是一家小公司 没有专门的人员进行打包等工作 我们的软
  • kubernetes 秘密在环境变量中有尾随空格

    我在 GKE 上运行的 Kubernetes 1 9 中创建了一个部署 该部署利用了放入环境变量中的机密 我使用 yaml 文件将机密上传到 GKE 其中机密经过 Base64 编码 我在容器中看到的是环境变量在那里 但值包含尾随空格 如果
  • 为什么 sockaddr_in 中需要零填充?

    我用谷歌搜索了一下 有些人说 与 struct sockaddr 保持相同的大小 但内核不会直接使用 sockaddr 对吗 使用时 内核会将其恢复到原来的样子 那么为什么需要零填充呢 struct sockaddr unsigned sh
  • 实体框架 - 无效的列名称“*_ID”

    我已将问题范围缩小到 Code First 和 Database First EF 之间的某个问题 但我不确定如何修复它 我会尽力说得清楚 但老实说 我自己也缺少一些理解 这是实体框架 4 4 我继承了一个使用实体框架的项目 但许多实际文件
  • Cloud Pub/Sub:即使注册域名后,HTTP URL 也未注册

    我有一个 Google Pub Sub 项目 并创建了一个主题和一个简单的订阅 但是 当指定推送的 URL 时 我不断收到以下错误 我已完成站点验证过程并在 API 和服务中注册了域 如中所述https cloud google com p
  • 为什么 PHP 将字母 E 的字符串转换为数字?

    为什么下面的语句会返回true 608E 4234 272E 3063 我也尝试过在字符串周围使用单引号 我可以让它评估的唯一方法false是通过使用 运算符而不是 我的猜测是 PHP 将其视为某种方程式 但这似乎有点奇怪 有人可以详细说明
  • 在Java中一次导入所有子包[重复]

    这个问题在这里已经有答案了 Java中是否可以一次性导入所有子包 据我所知 这在 C 中似乎是可能的 C 如何一次性导入命名空间 https stackoverflow com questions 4806986 c how to impo
  • ASP.NET Core Identity 中基于临时会话的声明

    在 ASP NET Core Identity 中添加声明非常简单 但我无法找到如何添加基于临时会话的声明 我的用例是这样的 具有自己的自定义声明的登录用户需要定期添加新声明 但仅限于当前会话 而不是持久化到数据库 当他们关闭浏览器或退出后
  • 如何从 plist 文件中提取字符串进行翻译(本地化)?

    我需要准备用于翻译 iPhone 应用程序的字符串列表 我已经从中提取了字符串使用 genstring 的 m 文件 and 使用 ibtool 从 XIB 文件中命令 但我也有plist 文件中需要翻译大量文本 字符串字段类型包含在str
  • 用 Ninject 拦截。无法加载 IProxyRequestFactory

    我正在学习使用 Ninject 和 Interceptor 模式 我有以下拦截器 public class MyInterceptor IInterceptor public void Intercept IInvocation invoc
  • 什么是好的头像电子邮件示例?

    在 Ember js 文档中看到类似的演示后 我刚刚做了一个演示 该演示根据您的电子邮件获取您的头像 我目前正在使用 电子邮件受保护 cdn cgi l email protection作为默认值 但这似乎是错误的 因为它是一个 React
  • ruby 的 3D 引擎是什么

    我正在寻找用于开发 ruby 游戏的 3D 引擎 我发现了一些像 G3Druby 或 ogrerb 的东西 哪一个更好用并且功能更好 还有其他发动机比这些更好吗 两者似乎都是 G3D 和 Ogre 的包装 因此您实际上应该比较 G3D 或
  • 使用最小起订量测试对私有方法的调用

    我有以下方法需要用最小起订量进行测试 问题是 switch 语句中调用的每个方法都是私有的 包括最后的 PublishMessage 但这个方法 ProcessMessage 是公共的 我如何测试这一点 以便确保根据参数进行调用 请注意 我
  • 如何顺序调用延迟函数?

    My code
  • 导航器路线 清除 flutter 堆栈

    在我的应用程序中 我有三个屏幕 loginverifyotp generatepress 我知道如何从一个页面移动到另一页面 例如 Navigator pushNamed context theNameOfThePage 我有一个从登录 g
  • 在 iOS 5 上,UIWebView 报告滚动视图的内容大小错误

    我已经尝试了很多 解决方案 但现在我正在尝试计算 UIWebView 的滚动视图的内容大小 目前它总是返回 1024 这是设备的宽度 这是没有意义的 因为我正在查询高度并且视图是纵向的 以下代码将高度报告为 1024 00000 void
  • 如何使用带有 stdin 的 wall 命令将消息广播到 python 中的所有 bash 终端?

    我想向我的树莓派上的所有 bash 终端广播消息 我知道有 wall 命令来执行该步骤 我可以使用 os system python 模块来执行该命令 但是 运行命令 wall text txt 需要 sudo 权限 有没有办法将 wall