Send en SMS-besked fra kommandolinjen

Anonim

Når du tænker på at sende tekstbeskeder, tænker du sikkert på iPhone eller en Android, og kommandolinjen passer ikke på dig, men takket være den evigt brugbare curl-kommando kan du sende en SMS-tekstbesked til enhver telefon nummer lige fra terminalen.

Ja, curl, det samme kommandolinjeværktøj til at overføre data til og fra URL'er, downloade filer, få HTTP-headerdetaljer og meget mere, kan sende tekstbeskeder.Dette gøres gennem en POST-anmodning sendt til TextBelt-tjenesten, en gratis udgående SMS API. Selvfølgelig er der grænser, men de er ret generøse med 75 tekstbeskeder om dagen (pr. IP), og du kan ikke sende et nummer mere end 3 tekstbeskeder på tre minutter for at forhindre misbrug. Bortset fra det, husk på, at du vil blive opkrævet for indgående sms'er med den almindelige SMS-/sms-takst fra din mobiludbyder - dette bruger ikke iMessage-tjenesten - så overbrug ikke dette, hvis du ikke har en ubegrænset traditionel sms-plan.

Send en tekstbesked fra kommandolinjen med krøll

Den grundlæggende syntaks, der skal bruges, er som følger, sørg for at erstattemed dit eget 10-cifrede telefonnummer (10 cifre=områdenummer + telefonnummer), og erstat derefter message=-teksten med din egen besked, der skal sendes:

"

curl http://textbelt.com/text -d number=-d message=text goes here "

For for eksempel at sende en tekst, der siger "hej fra OSXDaily.com" til telefonnummeret 555-155-1555 (ikke et rigtigt nummer), skal du bruge følgende kommandostreng:

"

curl http://textbelt.com/text -d number=5551551555 -d message=hello from OSXDaily.com "

Ja, du kan også indsætte en anden persons telefonnummer, men det bør du nok ikke gøre uden deres tilladelse.

Hvis teksten blev sendt, returnerer kommandolinjen en besked med angivelse af '{“success”:true}', hvis den mislykkes af en eller anden grund, vil den se nogenlunde ud som følgende, som er norm alt et tegn på en fejl i din kommandosyntaks: '{“success”:false, ”message”: “Nummer og meddelelsesparametre er påkrævet.”} curl: (6) Kunne ikke løse værten:' Gennemgå blot kommandostrengen og Prøv igen.

Sms-beskeden skulle ankomme til din iPhone eller Android meget hurtigt, selvom tjenestens hensigtsmæssighed sandsynligvis afhænger af en kø, og hvor meget aktivitet TextBelt modtager fra andre steder. Det kommer til at se noget i stil med følgende:

(Hvis du undrer dig, at svare på teksterne går ingen steder og gør ingenting, det er ikke en 2-vejs service)

Dette virker til at sende tekster fra Mac OS X, Linux og formentlig et hvilket som helst andet operativsystem eller tjeneste, der har curl-adgang. Modtagersiden bør fungere med enhver mobiltelefon, der accepterer SMS, uanset om det er en iPhone eller en gammel klods Nokia.

Tilføjelse af en hurtig 'Send tekst'-kommando til Bash

Hvis du nyder bekvemmeligheden ved at sende dig selv tekster fra terminalen og planlægger at bruge dette ofte, kan du oprette et simpelt bash-script for at forkorte kommandostrengen ved at tilføje følgende til din .bash_profil. Sørg for at erstatte nummeret med dit 10-cifrede telefonnummer:

"

sendtext () { curl http://textbelt.com/text -d number=5551113333 -d message=$1;echo message sent; }"

Med det i din bash_profil kan du blot skrive "sendtext your message goes here" for at sende en tekst til dig selv. Dette giver også mulighed for sjov og brugbarhed med dobbelte og-tegn &&, som at sende dig selv SMS-advarsler, når en softwarepakke er færdig med at installere, eller når en fjernfil er færdig med at downloade. Dem med kommandolinjeerfaring kan sikkert også komme i tanke om en million og en anden praktisk anvendelse for dette.

Ifølge TextBelt fungerer tjenesten bestemt i USA med følgende cellenetværk: Alltel, Ameritech, AT&T Wireless, Boost, CellularOne, Cingular, Sprint PCS, Telus Mobility, T-Mobile, Metro PCS , Nextel, O2, Orange, Qwest, Rogers Wireless, US Cellular, Verizon, Virgin Mobile. Dette kan være begrænset til USA, men vi er ikke i stand til at teste netværk uden for regionen. Lad os vide, hvis du prøver andre steder.

Send en SMS-besked fra kommandolinjen