C'è un modo per cambiare il funzionamento della directory bash, in modo da non mettere in disordine la mia cartella Home?

0

Certo, sono generalmente file invisibili, ma è come se ogni applicazione volesse memorizzare un milione di file di configurazione nella mia home directory. Mi piace mantenere il mio home directory pulito e ordinato. Idealmente mi piacerebbe creare una cartella chiamata bash e archiviare tutti i file bash, shell, ecc. Come ogni app lascia una scia di file di una riga nella mia bella directory home pulita.

Questa è la mia directory di lavoro:

Dovevogliocheassomigliaquestaconunapiccolaebellacartellaperfarfareallashellquellochevuole.

Ad ogni modo ... scusate se suono pissy ma ho appena ricevuto un nuovo MacBook e ho letteralmente dovuto passare 40 minuti a giocare a 52 pick-up nella mia home directory con tutte le applicazioni terminali dei file lasciate ovunque.

In realtà sono sorpreso che Apple lo consenta. Basta lasciare che si rovescia tutto su quella bella home directory. Vorrei che Apple lo facesse, quindi hai bisogno di una password per persino creare una directory lì.

    
posta Chris 24.05.2018 - 01:50
fonte

2 risposte

7

Is there any way to change the directory bash works out of.....

Questo è un fraintendimento di ciò che Bash è. Bash è una shell Unix che è un interfaccia della riga di comando al sistema operativo.

Non "risolve" la tua cartella Home. Quando avvii una shell interattiva non di accesso, per motivi di convenienza, ti viene proposto nella cartella HOME .

Per semplicità, Bash è solo un "portale" (finestra Terminale) nel sistema operativo; niente di più.

...so as not to junk up my Home folder?

La tua cartella HOME sta diventando "eliminata" perché qualsiasi cosa tu stia installando utilizza la posizione predefinita $HOME per i suoi file di supporto.

Basta guardare un campione di file / cartelle, cose come JUNK , New Folder with Items , doc , core , layers , news , ecc. sono entrambi i file creati da applicazioni originate da in un luogo diverso dall'App Store o creato dall'utente.

...but it’s like every application wants to store a million configuration files in my home directory.

Le app in genere memorizzano i loro file in ~/Library o più granulari, in ~/Library/Application Support (questa è la directory Libreria nella directory HOME dell'utente individuale). Ci sono delle eccezioni ... iCloud e Adobe Create Cloud memorizzano i file nella directory HOME. Personalmente ho inserito la mia VirtualBox VM nella mia directory HOME invece della mia directory ~/Documents .

I’m actually surprised Apple allows this.

Grazie a Dio, lo fanno! Non gradirei nessun sistema operativo che mi impedisca di modificare la home directory MY nel modo in cui desidero.

Detto questo, è importante notare che questa non è una "cosa Apple". Questo è un BSD e più in generale una cosa Unix. La tua directory HOME è una variabile predefinita nel sistema operativo e molte applicazioni e script utilizzano questa directory per memorizzare i suoi file.

Come affermato in precedenza, le app di App Store (quelle con supervisione di Apple) si adattano a un luogo standard per i loro file di supporto. Cose che scarichi da Github ... beh, sei alla loro mercè.

...Where I want it to look like this with a nice, neat little folder for the shell to do whatever it wants.

Potresti farlo, ma tieni presente che l'app che hai installato cercherà i suoi file di supporto nella directory definita dalla variabile di ambiente HOME . Sposta quei file da qualche altra parte e potresti rompere l'app.

Per fare in modo che funzioni, dovresti far sapere all'app (modificandola) che i file si trovano in $HOME/bash .

TL; DR

Ti aspetti che HOME sia un luogo incontaminato che non viene toccato; è un'aspettativa mal concepita. Utilizza la directory HOME per il motivo per cui è stata progettata: una directory di supporto utente e concentrati sul mantenimento di ~/Documents , ~/Downloads , ~/Music , bello e pulito.

    
risposta data 24.05.2018 - 03:17
fonte
0

La risposta breve alla tua domanda è che non puoi e la risposta lunga è una specie di. Diamo un po 'di lavoro di terra. Quando accedi al tuo computer, loginwindow.app imposta un ambiente di base che imposta HOME , PATH , TMPDIR , LOGNAME e USER .

Il Terminal.app è un emulatore di terminale, in altre parole un software che emula un terminale fisico. Le variabili di ambiente impostate da loginwindow.app sono disponibili per Terminal.app . Il Terminal.app chiama quindi login che controlla che HOME , PATH , LOGNAME e USER siano impostati. Quindi avvia shell come login shell leggendo i file di avvio appropriati. Fino a questo punto HOME è statico, impostato da loginwindow.app , ma all'interno di una sessione terminale il valore di HOME può essere modificato.

Ora copia i tuoi .bash_profile e .bashrc (o qualsiasi altro file di configurazione della shell che hai) su / Users / chrisvaccaro / bash. Ora, emetti il seguente comando:

HOME=/Users/chrisvaccaro/bash; export HOME; exec bash -l

Da questo momento in bash_history verrà scritto all'interno di / Users / chrisvaccaro / bash insieme a qualsiasi tipico file di punti "unix". La sessione terminale iniziale lascerà ancora alcuni "junk" nella directory HOME originale.

Questo è troppo complicato e soggetto a rottura.

    
risposta data 24.05.2018 - 17:29
fonte

Leggi altre domande sui tag