I comandi usano un ordine fisso di opzioni nel terminale OSX. Quindi, per esempio, devo usare rm -rf name
, invece di rm name -rf
, che è molto più conveniente per me (ad esempio, posso aggiungere prima tutti i nomi, poi vedere se ho delle directory lì e devo aggiungere -r
).
C'è un modo per consentire una sintassi più generale dei comandi OSX?
Non sono sicuro che sia possibile, ma, perAd esempio, mi chiedo qualche pre-elaborazione dei comandi della shell con ... il programma python, che riformatterà le opzioni e chiamerà il comando appropriato. Ma non ho familiarità con Python e non so come far funzionare un programma del genere ogni volta che scrivo un comando.
risposte:
5 per risposta № 1OSX ha l'implementazione BSD di strumenti UNIX comuni. Queste sono più severe delle implementazioni GNU che si trovano in un tipico Linux. Quindi non solo per rm
, ma per esempio ls
, mkdir
, i flag devono venire prima degli argomenti del nome file in OSX. Trovo anche piuttosto noioso.
Probabilmente è possibile installare la versione GNU di questi strumenti. Nel peggiore dei casi, è possibile scaricare il codice sorgente e crearli. Inseriscili in una nuova directory dedicata e anteponi questa directory al tuo PATH
.
Non credo ci sia un altro modo: non è possibile modificare il comportamento degli strumenti BSD in questo modo.
AGGIORNARE
Come @bdesham sottolineato, è possibile installare coreutils
con homebrew per ottenere le implementazioni GNU. Posso confermarlo con MacPorts pure.
1 per risposta № 2
Ogni comando Unix / Linux determina l'ordine richiesto o il raggruppamento di argomenti e opzioni per se stesso. Non esiste un modo generale per ignorarlo.
Tuttavia, il Bash (Bourne-di nuovo shell, lunga storia...) shell - cioè interprete della riga di comando - con cui interagisci quando si apre la finestra del terminale, supporta la cronologia e la modifica della riga di comando. Il montaggio utilizza combinazioni di tasti di uno dei due editor di testo ampiamente utilizzati che sono disponibili su piattaforme Unix / Linux per 30 anni o più. L'emulazione dell'editor predefinito proviene da un editor chiamato Emacs. Utilizzando l'editor, è possibile modificare facilmente i comandi prima di inviarli o recuperare i comandi precedenti da utilizzare come modello per un nuovo comando.
Un riferimento rapido ai comandi di modifica predefiniti è disponibile all'indirizzo:
Elenco delle scelte rapide da tastiera bash per la modifica da riga di comando Mac OS X predefinita
In effetti, c'è molto da dire sulla shell Bash o su qualsiasi interprete da riga di comando Linux / Unix. Per il manuale di riferimento completo, vedere:
Inoltre, su Mac OS X, Linux o Unix, l '"uomo"comando mostrerà la documentazione di aiuto per quasi tutti i comandi disponibili e numerose altre funzionalità del sistema operativo di base. Per saperne di più, inserisci quanto segue al prompt dei comandi:
man man