Invia un messaggio di testo SMS dalla riga di comando

Quando pensi di inviare messaggi di testo probabilmente pensi all'iPhone o ad un Android, e la riga di comando non ti passa per la testa, ma grazie al sempre utile comando di ricciolo, puoi inviare un messaggio di testo SMS a qualsiasi telefono numero direttamente dal Terminale.

Sì, curl, lo stesso strumento da riga di comando per il trasferimento dei dati da e verso gli URL, il download di file, il recupero dei dettagli dell'intestazione HTTP e molto altro ancora, può inviare messaggi di testo. Ciò avviene tramite una richiesta POST inviata al servizio TextBelt, un'API SMS in uscita gratuita. Certo, ci sono dei limiti, ma sono abbastanza generosi con 75 messaggi al giorno (per IP), e non è possibile inviare un numero di più di 3 testi in tre minuti per prevenire gli abusi. A parte questo, tieni presente che ti verranno addebitati i testi in entrata alla normale velocità di sms / SMS dal tuo fornitore di cellulari - questo non usa il servizio iMessage - quindi non esagerare con questo se non hai un numero illimitato piano di testo tradizionale.

Invio di un messaggio di testo dalla riga di comando con arricciatura

La sintassi di base da utilizzare è la seguente, assicurati di sostituire il ########## con il tuo numero di telefono a 10 cifre (10 cifre = prefisso telefonico + numero di telefono), quindi sostituire il messaggio = testo con il tuo messaggio da inviare:

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

Ad esempio, per inviare un testo che dice "ciao da OSXDaily.com" al numero di telefono 555-155-1555 (non un numero reale), si utilizzerà la seguente stringa di comando:

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

Sì, puoi inserire anche il numero di telefono di un'altra persona, ma probabilmente non dovresti farlo senza il loro permesso.

Se il testo è stato inviato correttamente, la riga di comando restituirà un messaggio che dice "{" successo ": true}", se fallisce per qualsiasi motivo, assomiglierà al seguente, che di solito è indicativo di un errore nel tuo sintassi del comando: '{"successo": falso, "messaggio": "I parametri numero e messaggio sono obbligatori."} arricciatura: (6) Impossibile risolvere l'host: "Esamina semplicemente la stringa di comando e riprova.

Il messaggio di testo dovrebbe arrivare al tuo iPhone o Android molto rapidamente, anche se la convenienza del servizio dipende probabilmente da una coda e da quanta attività riceve TextBelt da altrove. Verrà attraverso qualcosa di simile al seguente:

(Se ti stai chiedendo, rispondere ai testi non va da nessuna parte e non fa nulla, non è un servizio a 2 vie)

Questo funziona per inviare testi da Mac OS X, Linux, e presumibilmente qualunque altro OS o servizio abbia accesso ad arricciatura. Il lato destinatario dovrebbe funzionare con qualsiasi telefono cellulare che accetta SMS, che si tratti di un iPhone o di un mattone antico Nokia.

Aggiunta di un comando "Invia testo" rapido a Bash

Se ti piace la comodità di inviarti dei testi dal terminale e pianifica di usarli spesso, puoi creare un semplice script bash per accorciare la stringa di comando aggiungendo quanto segue al tuo .bash_profile. Assicurati di sostituire il numero con il tuo numero di telefono a 10 cifre:

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

Con quello nel tuo bash_profile, puoi semplicemente digitare "sendtext your message goes here" per inviare un testo a te stesso. Ciò consente anche un po 'di divertimento e utilità con doppio e commerciale e &, come l'invio di avvisi SMS quando un pacchetto software ha terminato l'installazione o quando viene scaricato un file remoto. Quelli con esperienza da linea di comando possono probabilmente pensare a un milione e ad altri usi utili anche per questo.

Secondo TextBelt, il servizio funziona sicuramente negli Stati Uniti con le seguenti reti cellulari: 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. Questo può essere limitato agli Stati Uniti, ma non siamo in grado di testare le reti al di fuori della regione, facci sapere se ci provi altrove.