Tempo fa abbiamo scritto di SoCLI , uno script Python per cercare e sfogliare il sito Web Stack Overflow dalla riga di comando. Oggi parleremo di uno strumento simile chiamato "how2" . È un'utilità della riga di comando per sfogliare Stack Overflow da Terminale. Puoi eseguire query in un inglese semplice come fai in Ricerca con Google e utilizza le API di Google e Stackoverflow per cercare le query fornite. È un'utilità gratuita e open source scritta utilizzando NodeJS .
Esplora lo stack overflow dal terminale usando how2
Poiché how2 è un pacchetto NodeJS, possiamo installarlo usando Npm gestore di pacchetti. Se non hai già installato Npm e NodeJS, fai riferimento alla seguente guida.
- Come installare NodeJS su Linux
Dopo aver installato Npm e NodeJS, eseguire il comando seguente per installare l'utilità how2.
$ npm install -g how2
Ora vediamo come sfogliare Stack Overflow usando questo programma. L'utilizzo tipico per eseguire ricerche nel sito Stack Overflow utilizzando l'utilità "how2" è:
$ how2 <search-query>
Ad esempio, cercherò come creare un archivio tgz.
$ how2 create archive tgz
Ops! Ottengo il seguente errore.
/home/sk/.nvm/versions/node/v9.11.1/lib/node_modules/how2/node_modules/devnull/transports/transport.js:59 Transport.prototype.__proto__ = EventEmitter.prototype; ^ TypeError: Cannot read property 'prototype' of undefined at Object.<anonymous> (/home/sk/.nvm/versions/node/v9.11.1/lib/node_modules/how2/node_modules/devnull/transports/transport.js:59:46) at Module._compile (internal/modules/cjs/loader.js:654:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10) at Module.load (internal/modules/cjs/loader.js:566:32) at tryModuleLoad (internal/modules/cjs/loader.js:506:12) at Function.Module._load (internal/modules/cjs/loader.js:498:3) at Module.require (internal/modules/cjs/loader.js:598:17) at require (internal/modules/cjs/helpers.js:11:18) at Object.<anonymous> (/home/sk/.nvm/versions/node/v9.11.1/lib/node_modules/how2/node_modules/devnull/transports/stream.js:8:17) at Module._compile (internal/modules/cjs/loader.js:654:30)
Potrebbe essere un bug. Spero che si risolva nelle versioni future. Tuttavia, trovo una soluzione alternativa pubblicata qui .
Per correggere temporaneamente questo errore, devi modificare transport.js file usando il comando:
$ vi /home/sk/.nvm/versions/node/v9.11.1/lib/node_modules/how2/node_modules/devnull/transports/transport.js
Il percorso effettivo di questo file verrà visualizzato nell'output dell'errore. Sostituisci il percorso del file sopra con il tuo. Quindi trova la seguente riga:
var EventEmitter = process.EventEmitter;
e sostituirlo con la seguente riga:
var EventEmitter = require('events');
Premi ESC e digita :wq per salvare e uscire dal file.
Ora cerca di nuovo la query.
$ how2 create archive tgz
Ecco l'output di esempio dal mio sistema Ubuntu.
Sfoglia lo stack overflow dal terminale
Se la risposta che stai cercando non viene visualizzata nell'output sopra, premi BARRA SPAZIATRICE tasto per avviare la ricerca interattiva in cui è possibile esaminare tutte le domande e le risposte suggerite dal sito Stack Overflow.
Utilizzare le frecce SU/GIÙ per spostarsi tra i risultati. Una volta ottenuta la risposta/domanda corretta, premi la BARRA SPAZIATRICE o il tasto INVIO per aprirla nel Terminale.
Per tornare indietro e uscire, premi ESC .
Cerca le risposte per una lingua specifica
Se non specifichi una lingua, l'impostazione predefinita è Bash riga di comando unix e darti immediatamente la risposta più probabile come sopra. Puoi anche restringere i risultati a un linguaggio specifico, ad esempio perl, python, c, Java ecc.
Ad esempio, per cercare query relative alla lingua "Python" utilizzando solo -l flag come mostrato di seguito.
$ how2 -l python linked list
Per ottenere un aiuto rapido, digita:
$ how2 -h
Conclusione
L'utilità how2 è un programma da riga di comando di base per cercare rapidamente domande e risposte da Stack Overflow senza lasciare il terminale e fa questo lavoro abbastanza bene. Tuttavia, è solo il browser CLI per l'overflow dello stack. Per alcune funzionalità avanzate come la ricerca delle domande più votate, la ricerca di query utilizzando più tag, l'interfaccia colorata, l'invio di una nuova domanda e la visualizzazione delle statistiche delle domande ecc., SoCLI è a posto.
E per ora è tutto. Spero che questo sia stato utile. Sarò presto qui con un'altra guida utile. Fino ad allora, resta sintonizzato con OSTechNix!
Ciao!