从终端 / Shell / Bash 发送短信

从终端 / Shell / Bash 发送短信

我刚刚丢了手机。我知道它还在我家,因为我昨晚用过它,今天早上我的蓝牙扬声器会连接到它。

如何使用 bash 向手机发送短信?然后手机通知会响起,我就可以找到我的手机了。

笔记:我要求使用 bash 解决方案,因为它比安装和配置 GUI 更简单。此外,我更喜欢使用 bash,而不是 python、HTML 或 java 等。最后,当您使用适用于 Linux 的 Windows 子系统西弗吉尼亚海岸)。

笔记2:回复评论:

  • 我没有固定电话,所以我无法简单地拨打我的智能手机。
  • 我丢失手机是在周日早上 6 点。我可以发电子邮件给我打电话的人当时正在睡觉。我不确定电池电量是否充足,如果电池没电了,我就没法发短信了。
  • 几周前,我关闭了智能手机上的电子邮件声音通知,这样我就无法给自己发送电子邮件。
  • skype我没有网络电话服务供应商

30 分钟后,我使用下面发布的答案给手机发短信,找到了智能手机。它藏在客厅里离地板 4 英寸高的家具架下面……

答案1

从终端 / Shell / Bash 发送短信

以下步骤打开终端提示符,也称为“命令行界面”或“CLI”。在大多数 Linux 发行版中,使用Ctrl+ Alt+T

textbelt.com从 bash 发送文本

我找到了一篇 reddit 文章:从命令行发送短信使用此 Bash / Terminal 命令,您可以使用:

curl -X POST https://textbelt.com/text \
   --data-urlencode phone='7801234567' \
   --data-urlencode message='Find Your Phone!' \
   -d key=textbelt

替换7801234567为您的电话号码。如果您要向国际电话号码(加拿大/美国境外)发送短信,请按照以下步骤操作指示

笔记:该软件将“找到您的手机!”替换为一条消息,提示您需要购买密钥才能使用自定义消息。但该软件仍然坚持要求您必须提供一条将被覆盖的消息。


从 Bash 发送 SMS 文本消息的其他原因

找到我的智能手机是一种不寻常的需求,需要从 Bash 发送短信。你可能有几个人应该在以下情况下发送短信:

  • 磁盘即将发生故障(或发生其他硬件错误)
  • 磁盘空间利用率超过阈值,例如 90%
  • RAM 已满并且交换空间占用过大
  • Web 服务器正在遭受外部攻击
  • 用户无效登录次数过多,帐户已被停用
  • 已运行影响关键流程的特定作业
  • 门禁读取器监控某扇门是否处于解锁状态

textbelt.com每天免费发送一条短信

只有一个自由的一天内,每个发送者可以发送一条短信。以下是一天内第一次和第二次尝试的示例:

$ find-phone # bash script with above command
{"success":true,"textId":"168141545572031481","quotaRemaining":0}

$ find-phone
{"success":false,"error":"Only one test text message is allowed per day.","quotaRemaining":0}

笔记:您也许可以每天重置路由器的 IP 地址以发送多条短信,但我还没有测试过。

您可以使用预付费无限短信。有许多短信网关服务可用。上述供应商链接的价格从每条短信 0.03 美元到 0.15 美元不等。这仅供参考,不代表认可或推荐。请做好功课,搜索价格最优惠的信誉良好的付费服务供应商。


创建 Bash 脚本

您可以创建一个名为的 bash 脚本,sms其中包含:

#!/bin/bash
curl -X POST https://textbelt.com/text --data-urlencode phone='$1' --data-urlencode message='$2' -d key=textbelt
  • 使用发送短信sms 7801234567 "Hello World"
  • 感谢 Fabby 从欧盟进行测试并确认它在那里有效。

向智能手机运营商发送电子邮件和短信

您需要的只是一个网络浏览器,例如 FireFox、Internet Explorer 或 Chrome。无需深入研究“bash 的奥秘”或限制自己每天只能阅读一篇免费文本。

许多运营商允许您通过发送电子邮件至 向智能手机发送短信phone_number@mobile_provider_name.com

查找电话号码以获取运营商的网站地址

要使用电话号码获取提供商的网站地址,请访问:https://freecarrierlookup.com/。假设我们输入了电话号码7801234567::

费用承运商查询.png

我们被告知要使用的电子邮件地址是[email protected]。现在向此地址发送电子邮件,您的手机就会发出通知声。

当然,如果您将智能手机配置为在电子邮件到达时发出通知声音,那么您可以直接向手机发送电子邮件!

用于发送电子邮件地址的 CLI 界面

询问 Ubuntu关于如何使用 bash 发送电子邮件有很多问题和答案。我使用ssmtp(安全简单邮件传输协议)作为我的cron日常备份:将 Linux 配置、脚本和文档备份到 Gmail

虽然此设置仅适用于一个用户,但您可以创建一个包含多个用户的文件,以便向以下用户发送短信:

Name         Email Address
Tiny Tim     [email protected]
Mrs. Clause  [email protected]
Bad Elf      [email protected]

然后在你的 bash 代码中类似这样的

ssmtp [email protected] < mail.txt

看起来mail.txt像这样:

Cc: admin@our_company.com
Subject: Nightly Database Update FAILED
From: root@our_company.com
Content-Type: text/html; charset="utf8"


<html>
<body>
<div style="
    background-color:
    #abcdef; width: 300px;
    height: 300px;
    ">
</div>
Nightly database update failed at procedure: AP005.
</body>
</html>

从 bash 发送电子邮件的方法有很多种。这只是一个例子。重要的是电子邮件地址包含智能手机号码,后面跟着智能手机提供商的网址

答案2

这个答案不适用于命令行,因为我找不到 Google 的命令行解决方案。

如果你有一部 Android 手机,但不想使用命令行,你可以访问https://www.google.com/android/find在网络浏览器中,无论手机处于静音、振动还是连接到蓝牙耳机,都可以从那里响铃。手机上也不需要安装任何额外的软件。您也可以在一天内多次执行此操作。

答案3

使用 Google Hangouts 通过浏览器拨打电话

即使您没有固定电话,您也可以通过拨打电话来定位您的手机。

先决条件:Google 帐户

注意:只有大部分拨打美国和加拿大的电话是免费的。请参阅https://www.google.com/voice/b/0/rates?p=hangout了解利率。

  1. hangouts.google.com
  2. 点击“电话呼叫”按钮:
    按钮截图
  3. 点击“新对话”:
    按钮截图
  4. 输入你的电话号码:
    数字输入框截图
  5. 点击“呼叫”:
    呼叫按钮截图

相关内容