Thread oder Wikibeitrag .bashrc Beispiele

Smalltalk
dasebastian
Beiträge: 1919
Registriert: 12.07.2020 11:21:17

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von dasebastian » 13.08.2023 22:19:20

holyhit hat geschrieben: ↑ zum Beitrag ↑
13.08.2023 18:55:07
Auszug .bashrc ....
Ich bin nicht so gut im Bashskripten, was bewirkt dein erstes Schnipsel?

Bei deinen Aliases schaue ich mal... :THX:

holyhit
Beiträge: 107
Registriert: 05.08.2023 11:27:42

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von holyhit » 13.08.2023 22:40:18

Die Zeilen in der bash bedeuten das wenn ich mich auf tty2 einlogge, x startet und mit x wird dann i3 gestartet. Ich benutze keinen Loginmanager.
Das ich es im wiki erweitern kann, wußte ich gar nicht.
lg,

Marcus
keep_the_spirit_of_the_reallife

dasebastian
Beiträge: 1919
Registriert: 12.07.2020 11:21:17

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von dasebastian » 13.08.2023 22:50:03

holyhit hat geschrieben: ↑ zum Beitrag ↑
13.08.2023 22:40:18
Die Zeilen ... bedeuten ... wiki erweitern kann, wußte ich gar nicht.
Danke!

Ich bin mir gerade jetzt auch nicht sicher, ob es Auflagen fürs Editieren des Wikis gibt (Mindestbeitragszahl...?), vielleicht musst du aber auch nur nochmal einen neuen User dort anlegen, ich kann mich nicht mehr erinnern... :facepalm: :lol:

holyhit
Beiträge: 107
Registriert: 05.08.2023 11:27:42

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von holyhit » 13.08.2023 22:55:20

Werde morgen noch mal nachschauen im Wiki.
Finde es eine super Idee. Stöbere gerne in configs usw rum.
keep_the_spirit_of_the_reallife

Benutzeravatar
HelsAett
Beiträge: 749
Registriert: 18.03.2003 18:25:00

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von HelsAett » 14.10.2023 18:16:12

Da mach ich doch mal mit und teile mein. Ich hab meine Daten in die bash_aliases ausgelagert.

Code: Alles auswählen

#===========================================================
# 
# MeineBash Aliases
#
#===========================================================


#===========================================================
# Erweiterung path variable
#===========================================================
PATH="$PATH:/usr/local/sbin:/usr/sbin:/sbin"

#===========================================================
# definiere farben
#===========================================================
Black='\e[0;30m'        # Black
Red='\e[0;31m'          # Red
Green='\e[0;32m'        # Green
Yellow='\e[0;33m'       # Yellow
Blue='\e[0;34m'         # Blue
Purple='\e[0;35m'       # Purple
Cyan='\e[0;36m'         # Cyan
White='\e[0;37m'        # White

NC="\e[m"               # Color Reset


#===========================================================
# Bash Prompt
#===========================================================
# Funktion zur Anzeige des Bash-Prompts
custom_prompt() {
  # Prüfen Sie, ob sich das aktuelle Verzeichnis in einem Git-Repository befindet
  git_info=""
  if [ -d .git ] || git rev-parse --is-inside-work-tree &>/dev/null; then
    # Das Verzeichnis ist ein Git-Repository

    # Führen Sie die beiden Git-Befehle aus und speichern Sie die Ausgabe in Variablen
    branch_info=$(git branch --show-current)
    modified_count=$(git status --porcelain | wc -l)

    # Prüfen und formatieren Sie den branch_info-Text (Klammern entfernen)
    cleaned_branch=$(echo "$branch_info" | sed 's/[(]\(.*\)[)]/\1/')

    # Überprüfen und formatieren Sie den modified_count-Text
    if [ "$modified_count" -ne 0 ]; then
      modified_count="$modified_count"
      git_info="[${Cyan}${cleaned_branch}${NC}|${Yellow}+${NC}${Purple}${modified_count}${NC}] "
    else
      git_info="[${Cyan}${cleaned_branch}${NC}|${Green}✔${NC}] "
    fi
  fi

  # Benutzerprofil-spezifische Anpassungen des Prompts
  profile_info=""
  if [ "$AWS_PROFILE" == "iat" ]; then
    profile_info="[${Green}iat${NC}] "
  elif [ "$AWS_PROFILE" == "prd" ]; then
    profile_info="[${Red}prd${NC}] "
  fi

  # Bash-Prompt zusammenstellen
  PS1='$(if [[ $? == 0 ]]; then printf "\xf0\x9f\x90\xa7"; else printf "\[\e[0;35m\]\xf0\x9f\x90\xa7"; fi)\[\e[0m\]\[\e[0;35m\][\[\e[0;32m\]\u\[\e[0;35m\]@\[\e[0;32m\]\h\[\e[0;35m\]]\[\e[0m\] \[\e[0;33m\]\w \[\e[0m\]$(if [ "$modified_count" == 0 ]; then printf "${git_info}"; else printf "${git_info}"; fi)$(if [ "$AWS_PROFILE" == "prd" ]; then printf "${profile_info}"; else printf "${profile_info}"; fi)\[\e[0;32m\]\$\[\e[0m\] '
}

# Aktivieren Sie den benutzerdefinierten Prompt
PROMPT_COMMAND=custom_prompt


#===========================================================
# History formate
#===========================================================
export TIMEFORMAT=$'\nreal %3R\tuser %3U\tsys %3S\tpcpu %P\n'
export HISTIGNORE="&:bg:fg:l:history:h:ls:cp:cd:clear:exit:dir"
export HISTTIMEFORMAT="$(echo -e ${Cyan})[%d/%m %H:%M:%S]$(echo -e ${NC}) "
export HISTFILESIZE="10000"
export HISTCONTROL="ignorespace:erasedups"
shopt -s histappend


#===========================================================
# less man pages in farbe
#===========================================================
export LESS_TERMCAP_mb=$'\E[01;31m'
export LESS_TERMCAP_md=$'\E[01;31m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;44;33m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;32m'


#===========================================================
# high dpi config
#===========================================================
export GDK_SCALE=2
export GDK_DPI_SCALE=0.5
export ELM_SCALE=1.5
export QT_AUTO_SCREEN_SCALE_FACTOR=1


#===========================================================
# setze java home
#===========================================================
export PATH="$PATH:/usr/lib/jvm/jdk-17/bin"
export JAVA_HOME="/usr/lib/jvm/jdk-17"
export DERBY_HOME="/usr/lib/jvm/jdk-17/db"
export J2SDKDIR="/usr/lib/jvm/jdk-17"
export J2REDIR="/usr/lib/jvm/jdk-17"


#===========================================================
# Meine Aliases
#===========================================================
alias sudo='sudo '
alias keyagent='ssh-add ~/.ssh/id_rsa' # keyagent für verwendung meines standard ssh keys
alias sshkeyinfo='for keyfile in ~/.ssh/id_*; do ssh-keygen -l -f "${keyfile}"; done | sort -u' # Infos zu allen SSH-Keys im Home-Verzeichnis
alias sshkey='ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id_$(whoami)@$(hostname -f)_ed25519 -C "$(whoami)@$(hostname -f)-$(date -I)"' # Sicherer SSH-Key mit Elliptische Kurven
alias sshkey-rsa='ssh-keygen -o -a 100 -t rsa -b 4096 -f ~/.ssh/id_$(whoami)@$(hostname -f)_rsa -C "$(whoami)@$(hostname -f)-$(date -I)"' # Sicherer 4096 Bits RSA SSH-Key ohne Elliptische Kurven
alias un64='awk '\''BEGIN{FS=":: ";c="base64 -d"}{if(/\w+:: /) {print $2 |& c; close(c,"to"); c |& getline $2; close(c); printf("%s:: \"%s\"\n", $1, $2); next} print $0 }'\''' # base 64 decoding
alias pass='openssl rand -base64' # Stabile Passwortgenerieren. $ANZAHL angeben
alias l='ll' # wie ll
alias ll='ls -al --color=auto' # ls in Farbe inklusive versteckter dateien
alias lt='ls -al --human-readable --size -1 -S --classify' # sortiert nach Dateigröße
alias dir='dir --color=auto' # dir in Farbe
alias vdir='vdir --color=auto' # vdir in Farbe
alias ..='cd ../../' # springe 2 verzeichnisse höher
alias ...='cd ../../../' # springe 3 verzeichnisse höher
alias ....='cd ../../../../' # springe 4 verzeichnisse höher
alias .....='cd ../../../../../' # springe 5 verzeichnisse höher
alias grep='grep --color=auto' # grep in Farbe
alias zgrep='zgrep --color=auto' # zgrep in Farbei
alias grepn='grep -iRn' # grep rekusiv mit Zeilennummer 
alias diff='vimdiff' # diff in Farbe 
alias dmesg="dmesg --color" # dmesg in Farbe
alias dmesge='sudo dmesg -Tx | grep ".err"' # Kernel Error Meldungen in schön
alias cpv='rsync -ah --info=progress2' # cp like rsync
alias mntdroid='jmtpfs ~/.mnt/Android' # Android mount
alias umntdroid='fusermount -u ~/.mnt/Android' # Android umount


#===========================================================
# Informationsbeschaffung
#===========================================================
alias header='curl -I' # Headeranzeige eines $ZIEL
alias myshell='ps -p $$' # Aktuelle Shell
alias mem='free -m -l -t' # Ausführliche Memoryangabe
alias df='df -Th --total' # Anzeige Festplattenbelegung
alias os='lsb_release -a' # OS-Version
alias myip='curl ipinfo.io/ip' # Anzeige eigene, externe IP
alias mountt='mount |column -t' # Ausführliche Mountpoints
alias nlsof='lsof -n -P -i +c 15' # Übersicht Netzwerkverbindungen
alias fastping='ping -c 100 -s.2' # Ping auf Steroide $ZIEL
alias log='lastlog | grep -vi "\*\*"' # Letzte Logins aller User
alias dux='du -h --max-depth=1 | sort -rh' # Nach Größe sortierte Ordnerübersicht
alias dux10='du -hsx * | sort -rh | head -10' # Die 10 Größten Ordner anzeigen
alias ifconfig='ip -br -c addr show' # Kompakte Anzeige aller IP-Adressen in Farbe
alias dff='df -hlT --exclude-type=tmpfs --exclude-type=devtmpfs' # Anzeige Festplattenbelegung ohne tmpfs-Systeme


#===========================================================
# Programm - Docker
#===========================================================
alias dops="docker ps"
alias dopa="docker ps -a"
alias doi="docker images"
alias dos="docker search"
alias dokd="docker run -d -P"
alias doex="docker exec -i -t"
alias doki="docker run -i -t -P"
alias dtail='docker logs -tf --tail="50" "$@"'
alias doip="docker inspect --format '{{ .NetworkSettings.IPAddress }}'"
alias dormf='docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)'

dostop() { docker stop $(docker ps -a -q); }
dorm() { docker rm $(docker ps -a -q); }
dori() { docker rmi $(docker images -q); }
dorin() { docker rmi -f $(docker images --filter "dangling=true" -q); }

doalias() { alias | grep 'docker' | sed "s/^\([^=]*\)=\(.*\)/\1 => \2/"| sed "s/['|\']//g" | sort; }


#===========================================================
# Systemctl
#===========================================================
alias start='systemctl start' # $DIENST starten
alias stop='systemctl stop' # $DIENST stoppen
alias reload='systemctl reload' # $DIENST reloaden
alias restart='systemctl restart' # $DIENST restarten
alias enable='systemctl enable' # $DIENST aktivieren
alias disable='systemctl disable' # $DIENST deaktivieren
alias status='systemctl status' # $DIENST Statusabfrage
alias running='systemctl list-units  --type=service  --state=running'
alias systemdconf='systemctl cat' # $DIENST-Konfiguration anzeigen
alias systemddep='systemctl list-dependencies' # $DIENST-Abhängikeiten anzeigen
alias stats='systemctl list-units --type=service' # Infos zu allen von Systemd kontrollierten Diensten

sysalias() { alias | grep 'systemctl' | sed "s/^\([^=]*\)=\(.*\)/\1 => \2/"| sed "s/['|\']//g" | sort; }


#===========================================================
# Prozesse
#===========================================================
alias pss='ps axjfwww' # Anzeige der Prozesse als Baumliste
alias pscpu='ps auxwww | sort -nr -k 3' # Prozesse nach CPU sortieren
alias psmem='ps auxwww | sort -nr -k 4'  # Prozesse nach RAM sortieren
alias pscpu10='ps auxwww | sort -nr -k 3 | head -10'  # Die 10 CPU-hungrigsten Prozesse
alias psmem10='ps auxwww | sort -nr -k 4 | head -10' # Die 10 RAM-hungrigsten Prozesse
alias psg='ps auxwww | grep -v grep | grep -i --color=auto' # grep nach einem Prozess

psalias() { alias | grep -E '\sps.+\=' | sed "s/^\([^=]*\)=\(.*\)/\1 => \2/" | sed "s/['|\']//g" | sort; }


#===========================================================
# deb Package  
#===========================================================
alias dpkg-delconf='sudo dpkg -l | grep "^rc " | cut -d" " -f3 | xargs sudo dpkg --purge' # lösche die Konfiguration von deinstallierten packages
function apt-history(){
      case "$1" in
        install) # liste installiere pakete auf
              cat /var/log/{dpkg.log,dpkg.lo*} | zgrep 'install '
              ;;
        upgrade|remove) # liste gelöschte pakete auf
              cat /var/log/{dpkg.log,dpkg.lo*} | zgrep $1
              ;;
        rollback) 
              cat /var/log/{dpkg.log,dpkg.lo*} | zgrep upgrade | \
                  grep "$2" -A10000000 | \
                  grep "$3" -B10000000 | \
                  awk '{print $4"="$5}'
              ;;
        *)
              cat /var/log/{dpkg.log,dpkg.log.1}
              ;;
      esac
}


#===========================================================
# Proxy Enviroment on off
#===========================================================
function proxyon(){
  export http_proxy="127.0.0.1:8118"
  export no_proxy="localhost,127.0.0.1,192.168.188.0\24"
  export https_proxy=$http_proxy
  export ftp_proxy=$http_proxy
  export rsync_proxy=$http_proxy
  echo -e "Proxy environment variable set."
}
function proxyoff(){
  unset http_proxy
  unset https_proxy
  unset ftp_proxy
  unset rsync_proxy
  unset no_proxy
  echo -e "Proxy environment variable removed."
}

dasebastian
Beiträge: 1919
Registriert: 12.07.2020 11:21:17

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von dasebastian » 15.10.2023 09:20:03

HelsAett hat geschrieben: ↑ zum Beitrag ↑
14.10.2023 18:16:12
Da mach ich doch mal mit und teile mein...
:THX: Super, danke! Auch ein ziemlicher Brocken.

Ich durchschaue nicht alles, die Systemctl-Aliases finde ich sehr interessant.

Was erleichtert dir dein Sudo-Alias mit dem Leerzeichen? Anscheinend hatte ich noch nicht genug Kaffee...

juribel
Beiträge: 206
Registriert: 20.06.2023 10:17:01

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von juribel » 15.10.2023 10:40:38

Super, danke auch von mir!

Für die .bash_aliases hätte ich da auch noch einen:

Code: Alles auswählen

function initColors () { 

# Diese Funktion initialisiert einige Variablen mit ANSI-Farbwerten. 
# Verwendung: printf "${fg196}Dieser Satz ist rot.\n$fgRES" 
 
  for i in {0..255}; do export fg$i="\x1b[38;5;${i}m"; export bg$i="\x1b[48;5;${i}m"; done
 
  export fgGRN=$fg118;                                      # Grün 
  export fgGRNS=$fg154;    export fgPROMPT=$fgGRNS          # Signalgrün
  export fgORA=$fg208;     export fgHEADER=$fgORA           # Braunorange
  export fgRED=$fg196;                                      # Rot 
  export fgTRQ=$fg51;                                       # Türkis 
  export fgYEL=$fg226;                                      # Gelb 
  export fgYELP=$fg184;                                     # Blassgelb
  export fgLOGO=$fgYEL$bg19
 
  export fgRES="\x1b[0m";                                   # Reset 
  export fgBLD="\x1b[1m";                                   # Bold 
 
} 
 


uname
Beiträge: 12138
Registriert: 03.06.2008 09:33:02

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von uname » 15.10.2023 12:03:53

Man könnte noch den Terminal-Multiplexer Debiantmux installieren am Ende der .bashrc noch den unten aufgeführten Befehl aufführen, damit Debiantmux verwendet wird und immer die gleiche Sitzung aufgerufen wird. Leider weiß ich nicht, ob damit .bashrc doppelt ausgeführt wird und dieses zu Problemen führen kann. Vielleicht mag es mal jemand ausprobieren.

Code: Alles auswählen

/usr/bin/tmux attach || /usr/bin/tmux new
Vor allen auf Serversystemen ist Debiantmux sehr praktisch. Falls Interesse besteht, ich hatte dazu mal diesen Beitrag geschrieben.

Benutzeravatar
TRex
Moderator
Beiträge: 8135
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von TRex » 15.10.2023 12:11:11

Code: Alles auswählen

ssh -tt deinhost tmux a -t chat
Warum ich das für relevant/interessant halte? Weil ich einen zentralen Host im LAN verwende, um mit profanity zu chatten und bislang getrennt ssh-Verbindung aufgebaut und tmux aktiviert hab. -tt erzeugt ein Pseudoterminal mit ssh, wodurch das in einer Zeile geht. Die ist nicht in meiner .bashrc, aber in meiner .bash_history immer greifbar.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

dasebastian
Beiträge: 1919
Registriert: 12.07.2020 11:21:17

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von dasebastian » 15.10.2023 16:27:50

Wollt ihr so eine Tmux-Geschichte vielleicht im Artikel Wiki-Artikel zum Thema Bash-Konfiguration an passender Stelle ergänzen? Ich kenne mich da leider gar nicht aus.

EDIT: Vielleicht ist das sogar einen eigenen Abschnitt Wert, so in der Art "Tmux-Integration"?

JTH
Moderator
Beiträge: 3032
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von JTH » 15.10.2023 19:52:15

uname hat geschrieben: ↑ zum Beitrag ↑
15.10.2023 12:03:53
Leider weiß ich nicht, ob damit .bashrc doppelt ausgeführt wird und dieses zu Problemen führen kann.
Ja, würde sie.

Auf die gleiche Art, wie die .bashrc normalerweise in einer nicht-interaktiven Shell nichts tut, könnte man das vermeiden, indem man deinen Vorschlag nur außerhalb von tmux ausführt. Man könnte z.B. gucken, ob die TMUX-Variable noch nicht definiert ist:

Code: Alles auswählen

if [[ ! -v TMUX ]]; then
    /usr/bin/tmux attach || /usr/bin/tmux new
fi
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
HelsAett
Beiträge: 749
Registriert: 18.03.2003 18:25:00

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von HelsAett » 16.10.2023 13:02:33

dasebastian hat geschrieben: ↑ zum Beitrag ↑
15.10.2023 09:20:03
HelsAett hat geschrieben: ↑ zum Beitrag ↑
14.10.2023 18:16:12
Da mach ich doch mal mit und teile mein...
:THX: Super, danke! Auch ein ziemlicher Brocken.

Ich durchschaue nicht alles, die Systemctl-Aliases finde ich sehr interessant.

Was erleichtert dir dein Sudo-Alias mit dem Leerzeichen? Anscheinend hatte ich noch nicht genug Kaffee...
Aliases wie die Systemctl-Aliases oder auch die Docker Aliases benötigen ein Sudo, der sudo='sudo ' ermöglich das auch aliases funktioniern welche ein sudo verlangen.

ohne den Sudo Alias passiert sonst folgendes:

Code: Alles auswählen

🐧[debian@debian-virtualbox] ~ $ sudo stop firewall
[sudo] Passwort für debian: 
sudo: stop: Befehl nicht gefunden

dasebastian
Beiträge: 1919
Registriert: 12.07.2020 11:21:17

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von dasebastian » 16.10.2023 14:27:09

Danke!

KP97
Beiträge: 3479
Registriert: 01.02.2013 15:07:36

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von KP97 » 17.10.2023 16:43:03

Ein bisschen was hätte ich auch:
# aliases
alias ll='ls -l'
alias la='ls -la'
alias log='journalctl -b -p5'
alias nk='networkctl status eth0'
alias nw='networkctl status wlan0'
alias nl='networkctl list'
alias ns='systemctl status systemd-networkd'
alias dae='doas systemctl daemon-reload'
Muß man natürlich an die eigenen Namen anpassen, das Log ebenfalls. Ich habe kein persistentes Journal und mich interessieren nur Fehler, daher -p5.

dasebastian
Beiträge: 1919
Registriert: 12.07.2020 11:21:17

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von dasebastian » 17.10.2023 17:10:05

Du verwendest Debiandoas bzw. Debianopendoas wegen der besseren Konfigurierbarkeit?

KP97
Beiträge: 3479
Registriert: 01.02.2013 15:07:36

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von KP97 » 17.10.2023 19:38:18

Im Zusammenhang mit aliases in der bash, wenn ein Befehl als root laufen soll, da sudo grundsätzlich nicht in Frage kommt. Da ist doas am bequemsten.

uname
Beiträge: 12138
Registriert: 03.06.2008 09:33:02

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von uname » 18.10.2023 15:33:30

KP97 hat geschrieben:da sudo grundsätzlich nicht in Frage kommt.
Jetzt muss ich doch mal fragen warum sudo nicht in Frage kommt.

dasebastian
Beiträge: 1919
Registriert: 12.07.2020 11:21:17

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von dasebastian » 18.10.2023 22:45:21

KP97 hat geschrieben: ↑ zum Beitrag ↑
17.10.2023 19:38:18
... da sudo grundsätzlich nicht in Frage kommt.
uname hat geschrieben: ↑ zum Beitrag ↑
18.10.2023 15:33:30
Jetzt muss ich doch mal fragen warum sudo nicht in Frage kommt.
ICH frage nicht weiter nach. :wink:

uname
Beiträge: 12138
Registriert: 03.06.2008 09:33:02

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von uname » 19.10.2023 07:00:06

Ein wenig wie Windows. Der Benutzer schränkt sich ein aber solange der Virenscanner Administratorrechte hat ist alles gut ...

KP97
Beiträge: 3479
Registriert: 01.02.2013 15:07:36

Re: Thread oder Wikibeitrag .bashrc Beispiele

Beitrag von KP97 » 19.10.2023 15:51:08

uname hat geschrieben: ↑ zum Beitrag ↑
19.10.2023 07:00:06
Ein wenig wie Windows. Der Benutzer schränkt sich ein aber solange der Virenscanner Administratorrechte hat ist alles gut ...
Was willst Du uns denn mit dieser tiefschürfenden Erkenntnis mitteilen?
Zu sudo gibt es hier mehr als genug Diskussionen, müssen wir nicht nochmal haben.

Antworten