Bashrc: Skillnad mellan sidversioner
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
Rad 1: | Rad 1: | ||
= .bashrc: En omfattande guide = | |||
== Introduktion == | == Introduktion == | ||
< | <nowiki> | ||
.bashrc | `.bashrc`-filen är en kritisk komponent i användarens Bash-miljö. Den här filen körs varje gång en ny Bash-skal sesion öppnas, vilket gör den idealisk för att anpassa användarens arbetsmiljö genom att sätta alias, miljövariabler, funktioner och andra inställningar. Den här artikeln kommer att utforska de olika aspekterna av `.bashrc`-filen och ge många exempel på hur man kan använda den. | ||
</nowiki> | |||
== Grundläggande Struktur == | == Grundläggande Struktur == | ||
<pre> | |||
# .bashrc | # .bashrc | ||
# | # Källa globala definierade bashrc-filer | ||
if [ -f /etc/bashrc ]; then | if [ -f /etc/bashrc ]; then | ||
. /etc/bashrc | . /etc/bashrc | ||
fi | fi | ||
# Ställ in användarspecifika miljövariabler | |||
# Ställ in | |||
export PATH=$PATH:$HOME/bin | export PATH=$PATH:$HOME/bin | ||
# | # Alias | ||
alias ll='ls -la' | |||
alias ..='cd ..' | |||
Funktioner | # Funktioner | ||
function extract { | |||
if [ -f $1 ]; then | |||
case $1 in | |||
*.tar.bz2) tar xjf $1 ;; | |||
*.tar.gz) tar xzf $1 ;; | |||
*.bz2) bunzip2 $1 ;; | |||
*.rar) unrar x $1 ;; | |||
*.gz) gunzip $1 ;; | |||
*.tar) tar xf $1 ;; | |||
*.tbz2) tar xjf $1 ;; | |||
*.tgz) tar xzf $1 ;; | |||
*.zip) unzip $1 ;; | |||
*.Z) uncompress $1;; | |||
*.7z) 7z x $1 ;; | |||
*) echo "'$1' cannot be extracted via extract()" ;; | |||
esac | |||
else | |||
echo "'$1' is not a valid file!" | |||
fi | |||
} | } | ||
# | # Anpassa prompten | ||
PS1='[\u@\h \W]\$ ' | |||
# Läsa in ytterligare skript | |||
if [ -f ~/.bash_aliases ]; then | |||
. ~/.bash_aliases | |||
# | |||
if [ -f / | |||
. / | |||
fi | fi | ||
if [ -f ~/.bash_functions ]; then | if [ -f ~/.bash_functions ]; then | ||
. ~/.bash_functions | . ~/.bash_functions | ||
fi | fi | ||
</pre> | |||
== Miljövariabler == | |||
<pre> | |||
export PATH=$PATH:/usr/local/bin | |||
export EDITOR=nano | |||
export LANG=en_US.UTF-8 | |||
export LC_ALL=en_US.UTF-8 | |||
</pre> | |||
< | |||
= | |||
== Alias == | |||
<pre> | |||
alias ll='ls -la' | |||
alias ll='ls - | |||
alias la='ls -A' | alias la='ls -A' | ||
alias l='ls -CF' | alias l='ls -CF' | ||
alias rm='rm -i' | |||
alias cp='cp -i' | |||
alias mv='mv -i' | |||
alias gs='git status' | |||
alias gp='git pull' | |||
alias gc='git commit -m' | |||
</pre> | |||
== Funktioner == | |||
<pre> | |||
function extract { | |||
if [ -f $1 ]; then | |||
case $1 in | |||
*.tar.bz2) tar xjf $1 ;; | |||
*.tar.gz) tar xzf $1 ;; | |||
*.bz2) bunzip2 $1 ;; | |||
*.rar) unrar x $1 ;; | |||
*.gz) gunzip $1 ;; | |||
*.tar) tar xf $1 ;; | |||
*.tbz2) tar xjf $1 ;; | |||
*.tgz) tar xzf $1 ;; | |||
*.zip) unzip $1 ;; | |||
*.Z) uncompress $1;; | |||
*.7z) 7z x $1 ;; | |||
*) echo "'$1' cannot be extracted via extract()" ;; | |||
esac | |||
else | |||
echo "'$1' is not a valid file!" | |||
fi | |||
} | } | ||
function mkcd { | function mkcd { | ||
mkdir -p "$1" | mkdir -p "$1" | ||
cd "$1" | |||
} | } | ||
function fgrep { | |||
find . -name "$2" | xargs grep "$1" | |||
} | |||
</pre> | |||
== Anpassa Prompten == | |||
<pre> | |||
PS1='[\u@\h \W]\$ ' | |||
PS1='\[\e[0;32m\]\u@\h \[\e[0;34m\]\w \$\[\e[m\] ' | |||
parse_git_branch() { | parse_git_branch() { | ||
git branch 2> /dev/null | grep ' | git branch 2> /dev/null | grep '*' | sed 's/* //' | ||
} | } | ||
PS1='[\u@\h \W$(parse_git_branch)]\$ ' | |||
</pre> | |||
== Inkludera Ytterligare Skript == | |||
<pre> | |||
if [ -f ~/.bash_aliases ]; then | |||
. ~/.bash_aliases | |||
fi | |||
if [ -f ~/.bash_functions ]; then | if [ -f ~/.bash_functions ]; then | ||
. ~/.bash_functions | . ~/.bash_functions | ||
fi | fi | ||
</pre> | |||
== Avancerade Exempel == | |||
<pre> | |||
function cdd() { | |||
case $1 in | |||
docs) cd ~/Documents ;; | |||
dls) cd ~/Downloads ;; | |||
desk) cd ~/Desktop ;; | |||
*) cd "$1" ;; | |||
esac | |||
} | |||
function workon() { | |||
source ~/.virtualenvs/$1/bin/activate | |||
} | |||
function vfind() { | |||
find . -name "$1" -exec vim {} \; | |||
} | |||
</pre> | |||
</ | |||
== | == Felsökning == | ||
<pre> | |||
bash -n ~/.bashrc | |||
source ~/.bashrc | |||
</pre> | |||
< | == Slutsats == | ||
<nowiki> | |||
Den här artikeln har gett en omfattande översikt över `.bashrc`-filen och hur den kan användas för att anpassa din Bash-miljö. Genom att använda exempel och förklaringar har vi täckt allt från grundläggande alias och miljövariabler till avancerade funktioner och felsökningstekniker. Med denna kunskap kan du effektivt anpassa och optimera din terminalupplevelse. | |||
</nowiki> | |||
== Referenser == | |||
<pre> | |||
* [GNU Bash manual](https://www.gnu.org/software/bash/manual/bash.html) | |||
* [Bash Guide for Beginners](http://tldp.org/LDP/Bash-Beginners-Guide/html/) | |||
* [Advanced Bash-Scripting Guide](http://tldp.org/LDP/abs/html/) | |||
</pre> |
Nuvarande version från 27 maj 2024 kl. 05.59
.bashrc: En omfattande guide
Introduktion
`.bashrc`-filen är en kritisk komponent i användarens Bash-miljö. Den här filen körs varje gång en ny Bash-skal sesion öppnas, vilket gör den idealisk för att anpassa användarens arbetsmiljö genom att sätta alias, miljövariabler, funktioner och andra inställningar. Den här artikeln kommer att utforska de olika aspekterna av `.bashrc`-filen och ge många exempel på hur man kan använda den.
Grundläggande Struktur
# .bashrc # Källa globala definierade bashrc-filer if [ -f /etc/bashrc ]; then . /etc/bashrc fi # Ställ in användarspecifika miljövariabler export PATH=$PATH:$HOME/bin # Alias alias ll='ls -la' alias ..='cd ..' # Funktioner function extract { if [ -f $1 ]; then case $1 in *.tar.bz2) tar xjf $1 ;; *.tar.gz) tar xzf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) unrar x $1 ;; *.gz) gunzip $1 ;; *.tar) tar xf $1 ;; *.tbz2) tar xjf $1 ;; *.tgz) tar xzf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1;; *.7z) 7z x $1 ;; *) echo "'$1' cannot be extracted via extract()" ;; esac else echo "'$1' is not a valid file!" fi } # Anpassa prompten PS1='[\u@\h \W]\$ ' # Läsa in ytterligare skript if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi if [ -f ~/.bash_functions ]; then . ~/.bash_functions fi
Miljövariabler
export PATH=$PATH:/usr/local/bin export EDITOR=nano export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8
Alias
alias ll='ls -la' alias la='ls -A' alias l='ls -CF' alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' alias gs='git status' alias gp='git pull' alias gc='git commit -m'
Funktioner
function extract { if [ -f $1 ]; then case $1 in *.tar.bz2) tar xjf $1 ;; *.tar.gz) tar xzf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) unrar x $1 ;; *.gz) gunzip $1 ;; *.tar) tar xf $1 ;; *.tbz2) tar xjf $1 ;; *.tgz) tar xzf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1;; *.7z) 7z x $1 ;; *) echo "'$1' cannot be extracted via extract()" ;; esac else echo "'$1' is not a valid file!" fi } function mkcd { mkdir -p "$1" cd "$1" } function fgrep { find . -name "$2" | xargs grep "$1" }
Anpassa Prompten
PS1='[\u@\h \W]\$ ' PS1='\[\e[0;32m\]\u@\h \[\e[0;34m\]\w \$\[\e[m\] ' parse_git_branch() { git branch 2> /dev/null | grep '*' | sed 's/* //' } PS1='[\u@\h \W$(parse_git_branch)]\$ '
Inkludera Ytterligare Skript
if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi if [ -f ~/.bash_functions ]; then . ~/.bash_functions fi
Avancerade Exempel
function cdd() { case $1 in docs) cd ~/Documents ;; dls) cd ~/Downloads ;; desk) cd ~/Desktop ;; *) cd "$1" ;; esac } function workon() { source ~/.virtualenvs/$1/bin/activate } function vfind() { find . -name "$1" -exec vim {} \; }
Felsökning
bash -n ~/.bashrc source ~/.bashrc
Slutsats
Den här artikeln har gett en omfattande översikt över `.bashrc`-filen och hur den kan användas för att anpassa din Bash-miljö. Genom att använda exempel och förklaringar har vi täckt allt från grundläggande alias och miljövariabler till avancerade funktioner och felsökningstekniker. Med denna kunskap kan du effektivt anpassa och optimera din terminalupplevelse.
Referenser
* [GNU Bash manual](https://www.gnu.org/software/bash/manual/bash.html) * [Bash Guide for Beginners](http://tldp.org/LDP/Bash-Beginners-Guide/html/) * [Advanced Bash-Scripting Guide](http://tldp.org/LDP/abs/html/)