Skicka ett SMS-textmeddelande från kommandoraden

När du tänker på att skicka textmeddelanden tror du förmodligen på iPhone eller Android, och kommandoraden överväger inte, men tack vare det alltid användbara curl-kommandot kan du skicka ett SMS-meddelande till en telefon nummer direkt från terminalen.

Ja, curl, samma kommandoradsverktyg för överföring av data till och från URL-filer, nedladdning av filer, HTTP-huvudinformation, och så mycket mer, kan skicka textmeddelanden. Detta görs genom en POST-begäran skickad till TextBelt-tjänsten, ett gratis utgående SMS API. Visst finns det gränser, men de är ganska generösa på 75 texter per dag (per IP), och du kan inte skicka ett nummer mer än 3 texter på tre minuter för att förhindra missbruk. Bortsett från det, tänk på att du kommer att debiteras för inkommande texter med den vanliga sms / textfrekvensen från din mobilleverantör - det här använder inte iMessage-tjänsten - så överanvänd inte detta om du inte har obegränsat antal traditionell textplan.

Skicka ett textmeddelande från kommandoraden med curl

Den grundläggande syntaksen som ska användas är att du ska ersätta ######### med ditt eget 10-siffriga telefonnummer (10 siffror = riktnummer + telefonnummer) och ersätt sedan meddelandet = text med ditt eget meddelande att skicka:

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

Till exempel, för att skicka en text som säger "hej från OSXDaily.com" till telefonnumret 555-155-1555 (inte ett riktigt tal), skulle du använda följande kommandosträng:

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

Ja, du kan också sätta in ett annat persons telefonnummer där, men du borde nog inte göra det utan deras tillåtelse.

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

Textmeddelandet ska snabbt komma till din iPhone eller Android, men tjänsten är troligtvis beroende av en kö och hur mycket aktivitet TextBelt tar emot från andra håll. Det kommer att komma igenom att se något som följande:

(Om du undrar, att svara på texterna går ingenstans och gör ingenting, det är inte en 2-vägs-tjänst)

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

Lägga till ett snabbt "Skicka text" kommando till bashöjd

Om du gillar att skicka dig texter från terminalen och planerar att använda det här 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_profile. Var noga med 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_profile kan du helt enkelt skriva "sendtext ditt meddelande går här" för att skicka ut en text till dig själv. Detta ger också lite roligt och användbart med dubbla ampersands &&, som att skicka SMS-varningar när ett program har slutfört installationen eller när en fjärransluten fil har laddats ner. De med kommandoradserfarenhet kan troligen tänka på en miljon och en annan praktisk användning för detta också.

Enligt TextBelt fungerar tjänsten definitivt i USA med följande mobilnät: 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. Det här kan vara begränsat till USA, men vi kan inte testa nätverk utanför regionen, låt oss veta om du ger ett försök någon annanstans.