comando di modifica della shell in Ubuntu 14.04


0

Avevo installato Ubuntu 14.04 su virtualbox, devo essere in grado di leggere il codice sorgente dei comandi della shell e modificare qualsiasi comando? qualche aiuto per favore? dove posso trovare i comandi della shell? in quale directory?


1
Ubuntu è open source. Aggiungi i repository di sorgenti e scarica tutte le fonti che desideri. Utilizzare il typecomando per scoprire dove risiede un dato comando. Aggiungi -ase vuoi trovare ogni istanza di un comando.
AFH,

Il gestore pacchetti apt ti fornirà la fonte di qualsiasi pacchetto sul sistema e lo costruirà per te.
Chris Stratton,

Risposte:


0

Comandi di shell diversi verranno da luoghi diversi, tuttavia è probabile che la seguente procedura funzioni per molti di essi:

(Nota: non è necessario essere root per nulla di tutto ciò.)

  1. Scopri dove risiede il file di comando, ad esempio per trovare which, provare type whichnella tua shell bash o anche which which(più in generale which ..., dove ...rappresenta qualunque comando desideri trovare).
  2. Successivamente, vorrai vedere quale pacchetto fornisce normalmente questo. dpkg -S /path/namepuò darti questo, oppure, per combinare i passaggi 1 e 2: dpkg -S $(which ...)ad es dpkg -S $(which which). In questo caso, ottengo:debianutils: /usr/bin/which
  3. Infine, vuoi prendere la fonte reale. (Nota: potrebbe essere necessario eseguire apt-get updateprima di eseguire questa operazione, soprattutto se viene visualizzato un errore simile E: You must put some 'source' URIs in your sources.list, che sembra, almeno nel mio caso, essere un po 'un messaggio di errore delle aringhe rosse.) Questo può essere fatto con apt-get source ..., ad esempio apt-get source debianutils( si potrebbero combinare i passaggi e fare apt-get source $(dpkg -S $(which which) | cut -d: -f1)).

Da lì, dovresti avere alcuni nuovi file e directory in qualsiasi directory in cui hai iniziato (quindi inizia in una directory appropriata), contenente la fonte appropriata.

Un altro esempio, in una sola riga:

cmd_to_get=ls; apt-get source $(dpkg -S $(which $cmd_to_get) | cut -d: -f1)

che afferra la fonte per ls(insieme a un sacco di altre cose che è dentro coreutilscon esso).

Da lì, puoi giocare ancora.

Se desideri quindi creare cose, vedi questa domanda correlata su askubuntu .

Happy hacking!

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.