Applicazioni avanzate per terminale / console per Mac OS X?


1

Uso molti programmi a riga di comando, molto spesso con argomenti simili. Qualcuno può raccomandare un'applicazione o un flusso di lavoro che mi permetta di memorizzare comandi di shell usati spesso e cercare tra i miei comandi recenti, usando una GUI?

Ho comandi che uso molto spesso (ad esempio rsync una directory specifica su un server) e altri comandi che uso meno spesso. Creare script di shell per ogni frammento di codice che potrei riutilizzare sembra un po 'imbarazzante.

Soprattutto per i programmi che uso raramente, finisco per leggere i documenti più e più volte, perché ho dimenticato di annotare il comando esatto della shell. Idealmente mi piacerebbe un'applicazione simile a Terminal.app, ma fornisce una sorta di gestione della cronologia e degli snippet.

Cosa usi per tenere traccia dei comandi della shell?


Inoltre, per quanto riguarda la "Terminale GUI", per gli amanti di terminali / bash, quello è uno dei peccati mortali. Perché scegliere quando è possibile digitare? Scommetto che non c'è un mercato abbastanza grande per quello.
Daniel Beck

Risposte:


5

Rispondere al meglio delle mie conoscenze. Non sono sicuro di cosa tu pensi che manchi, quindi posso essere sveglio là fuori. In tal caso, dimmelo.


Terminal (più specificamente, bash ) ha una storia. stampa Up-Arrow o (dopo) Down-Arrowo immettere history. È memorizzato in ~/.bash_history che può essere letto da qualsiasi editor di testo. Modificare i comandi è più facile se conosci il combinazioni di tasti per la navigazione .

Ricerca cronologica potrebbe anche aiutarti a trovare set di parametri specifici per una singola chiamata. Ad esempio, inserisci hdiutil e usali per trovare tutte le invocazioni recenti di quel comando e scorrerle ciclicamente.

Questi ( 1 , 2 Anche gli screencast commerciali potrebbero aiutarti a saperne di più sulla tua shell. Ho comprato e mi piace, ma ci sono tonnellate là fuori che spiegano quasi ogni aspetto di Terminal o bash utilizzo.

Strumenti come AppleScript ( tell application "Terminal" to do script "..." ) e Automator ( Esegui Shell Script azione) potrebbe anche aiutare a automatizzare le attività ripetute o creare "macro".

In caso di programmi eseguiti spesso, la creazione di un piccolo script di shell non sarebbe una cattiva idea. È essenzialmente un two-liner e utilizza un editor come TextMate, con comandi relativi a ciò che si desidera realizzare (ad esempio "make eseguibile", quindi non è necessario digitare quello chmod linea) rende ancora più facile.


Mac OS X utilizza il .tool e .command estensioni di file per gli script da eseguire utilizzando Terminal. Devi renderli eseguibili, sfortunatamente.


Molte grazie! Proverò alla ricerca della cronologia, potrebbe essere proprio quello che voglio.
Jakob Egger

1

Oltre ai suggerimenti che Daniel ti ha dato, eccone alcuni altri:

  • Puoi impostare HISTSIZE e HISTFILESIZE superiore ai loro valori predefiniti di 500 voci. Questo ti permetterà di avere più storia.
  • Crea alias e piccole funzioni quando non ha senso creare uno script. Questi possono essere memorizzati nel tuo ~/.bashrc file e saranno sempre disponibili oppure è possibile inserirli in un file separato e riceverli dall'interno ~/.bashrc o anche dalla riga di comando se non ne hai sempre bisogno immediatamente.
  • Utilizzare una sorta di registrazione. Le mie funzioni di registrazione della cronologia mantieni non solo i comandi e gli argomenti, ma anche la data e l'ora (che può fare anche la cronologia di Bash) e può mantenere la directory corrente al momento dell'erogazione del comando nonché il terminale o l'indirizzo IP e altre informazioni che hai scelto (per Ad esempio, dal momento che uso più di una versione di Bash, ho il mio registro la versione di Bash).
  • È possibile associare i macro della tastiera ai tasti funzione o ad altre combinazioni di tasti che consentono di ridurre la digitazione ripetitiva.
  • È possibile impostare variabili per fare la stessa cosa.

Grazie per il suggerimento HISTSIZE. Uso già alcuni alias, ma per la maggior parte dei comandi non mi preoccupo di creare alias, perché non li uso abbastanza spesso ...
Jakob Egger
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.