Ho alcune cose che desidero eseguire in .bashrc che preferirei trovare in un altro file sul sistema. Come posso includere questo file in .bashrc?Include file aggiuntivi in .bashrc
risposta
Aggiungi source /whatever/file
(o . /whatever/file
) in .bashrc
dove si desidera includere l'altro file.
Per evitare errori, è necessario innanzitutto verificare che il file esista. Quindi fonte il file. Fai qualcosa del genere.
# include .bashrc if it exists
if [ -f $HOME/.bashrc_aliases ]; then
. $HOME/.bashrc_aliases
fi
Se si dispone di più file da caricare, che può o non può esistere, è possibile mantenere in qualche modo elegante utilizzando un ciclo for.
files=(somefile1 somefile2)
path="$HOME/path/to/dir/containing/files/"
for file in ${files[@]}
do
file_to_load=$path$file
if [ -f "$file_to_load" ];
then
. $file_to_load
echo "loaded $file_to_load"
fi
done
L'output sarà simile:
$ . ~/.bashrc
loaded $HOME/path/to/dir/containing/files/somefile1
loaded $HOME/path/to/dir/containing/files/somefile2
Sicuramente non è necessario verificare la presenza di file all'interno del ciclo? (A meno che non si disponga di un elenco molto dinamico di file sul disco) –
Esiste un solo controllo per la presenza di file. Se il tuo attuale ambiente di lavoro non ha il file descritto nella lista, sarà semplicemente un errore sul carico di quel file e creerà rumore visivo. Un approccio più ideale sarebbe quello di ottenere un elenco di file, quindi di eseguire il looping di questo, piuttosto che definire un elenco statico. – modle13
preferisco verificare la versione prima e assegnare variabili per il percorso di configurazione:
if [ -n "${BASH_VERSION}" ]; then
filepath="${HOME}/ls_colors/monokai.sh"
if [ -f "$filepath" ]; then
source "$filepath"
fi
fi
- 1. .bashrc in Cygwin 1.7
- 2. Aggiunta di un percorso al file .bashrc?
- 3. Come è possibile esportare il file .bashrc in .zshrc?
- 4. Come imporre l'ordine di ricerca dei file include aggiuntivi nel progetto VC++?
- 5. include file php esterni
- 6. Crea zip in Maven con file aggiuntivi accanto al barattolo
- 7. Git per Windows non esegue il file .bashrc
- 8. mio file .bashrc non eseguito all'avvio Git Bash (Windows 7)
- 9. Comandi da .bashrc non disponibile in Emacs
- 10. Cygwin shell non esegue .bashrc
- 11. Include file TypeScript in azure git deploy
- 12. include file scala.html in gioco 2.0 scala
- 13. Include i file .css in asp.net
- 14. ActiveAdmin e file CSS personalizzati aggiuntivi
- 15. Differenza tra {% include '' %} e {{include ('')}} in Twig
- 16. Perché Visual Studio genera questi file aggiuntivi?
- 17. Il ritorno dal file include
- 18. Include il file PHP nel file HTML
- 19. script bash non leggere alias nel bashrc
- 20. campi aggiuntivi in CarrierWave Uploader
- 21. stampe printf aggiuntivi * carattere
- 22. Come creare una funzione in bashrc per accettare argomenti?
- 23. Python 'source HOME/.bashrc' con os.system()
- 24. Come .bashrc per root nella finestra mobile
- 25. Invia dati aggiuntivi in iBeacon
- 26. In cosa consiste "Service Include" in un file csproj?
- 27. include i file in modo ricorsivo in Cocoapods podspec
- 28. vim - eseguire: comandi nel mio .bashrc
- 29. Aggiunta di mysql al mio .bashrc PERCORSO
- 30. Posso inserire qualcosa in bashrc per nascondere i file dell'editor di testo (~ estensione)?
Si dovrebbe gestire non-esistenza con grazia. Ad esempio, verifica l'esistenza (test -r percorso &&. percorso) o ignora errori (. percorso 2>/dev/null) –
@William Pursell IMO è più facile testare una volta, quindi scrivere il codice per i casi, che il 99,99% non accadrà mai . – Daniel
@Daniel Non sono d'accordo. Le cose che accadono lo 0,01% delle volte possono verificarsi migliaia di volte al secondo. E avendo un .bashrc su un $ NFS montato su NFS potrebbe significare che il tasso di errore nell'acquisizione di un file è molto più elevato dello 0,01% –