Skicka ett SMS från kommandoraden

Anonim

När du tänker på att skicka ut textmeddelanden tänker du förmodligen på iPhone eller Android, och kommandoraden sträcker sig inte över dig, men tack vare det ständigt användbara curl-kommandot kan du skicka ut ett SMS-textmeddelande till vilken telefon som helst nummer direkt från terminalen.

Ja, curl, samma kommandoradsverktyg för att överföra data till och från URL:er, ladda ner filer, få HTTP-rubrikdetaljer och så mycket mer, kan skicka textmeddelanden.Detta görs genom en POST-förfrågan som skickas till TextBelt-tjänsten, ett gratis utgående SMS API. Visst finns det gränser, men de är ganska generösa med 75 sms per dag (per IP), och du kan inte skicka ett nummer mer än 3 sms på tre minuter för att förhindra missbruk. Bortsett från det, kom ihåg att du kommer att debiteras för inkommande sms med den vanliga SMS-/sms-hastigheten från din mobilleverantör – den här använder inte iMessage-tjänsten – så överanvänd inte detta om du inte har ett obegränsat traditionell sms-plan.

Skicka ett textmeddelande från kommandoraden med curl

Den grundläggande syntaxen att använda är som följer, se till att ersättamed ditt eget 10-siffriga telefonnummer (10 siffror=riktnummer + telefonnummer), och ersätt sedan meddelandet=texten med ditt eget meddelande att skicka:

"

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

Om du till exempel vill skicka ett textmeddelande som säger "hej från OSXDaily.com" till telefonnumret 555-155-1555 (inte ett riktigt nummer), använder du följande kommandosträng:

"

curl http://textbelt.com/text -d number=5551551555 -d message=hej från OSXDaily.com "

Ja du kan lägga in en annan persons telefonnummer där också, men du borde förmodligen inte göra det utan deras tillåtelse.

Om texten skickades framgångsrikt kommer kommandoraden att returnera ett meddelande som anger '{“success”:true}', om det misslyckas av någon anledning kommer det att se ut ungefär som följande, vilket är vanligtvis en indikation på ett fel i din kommandosyntax: '{“framgång”:false, ”meddelande”: ”Antal och meddelandeparametrar krävs.”} curl: (6) Kunde inte lösa värd:' Granska bara kommandosträngen och försök igen.

Smset bör komma till din iPhone eller Android mycket snabbt, även om tjänstens ändamålsenlighet troligen beror på en kö och hur mycket aktivitet TextBelt tar emot från någon annanstans. Det kommer att se ut ungefär så här:

(Om du undrar, att svara på texterna går ingenstans och gör ingenting, det är inte en tvåvägstjänst)

Detta fungerar för att skicka texter från Mac OS X, Linux och förmodligen vilket annat operativsystem eller tjänst som har curl-åtkomst. Mottagarsidan bör fungera med alla mobiltelefoner som accepterar SMS, oavsett om det är en iPhone eller en gammal tegelsten från Nokia.

Lägga till ett snabbt "Skicka text"-kommando till Bash

Om du gillar bekvämligheten med att skicka sms till dig själv från terminalen och planerar att använda detta ofta, kan du skapa ett enkelt bash-skript för att förkorta kommandosträngen genom att lägga till följande i din .bash_profil. Se till att ersätta numret med ditt 10-siffriga telefonnummer:

"

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

Med det i din bash_profil kan du helt enkelt skriva "sendtext your message goes here" för att skicka ut ett sms till dig själv. Detta möjliggör också lite skoj och nytta med dubbla et-tecken &&, som att skicka dig själv SMS-varningar när ett programpaket har installerats färdigt eller när en fjärrfil har laddats ner. De med kommandoradserfarenhet kan förmodligen komma på en miljon och en annan praktisk användning för detta också.

Enligt TextBelt fungerar tjänsten definitivt inom USA med följande cellnätverk: 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. Detta kan vara begränsat till USA, men vi kan inte testa nätverk utanför regionen, låt oss veta om du provar någon annanstans.

Skicka ett SMS från kommandoraden