
Cheat Sheet - Git
December 02, 2023
1 min
🇩🇪
In diesem Artikel sammle ich alle möglichen hilfreichen Tipps & Snippets für das Schreiben von einem Bash Skript.
Operator | Bedeutung | Beispiel | Wahr wenn … |
---|---|---|---|
-e | Datei existiert | [ -e file.txt ] | Die Datei oder das Verzeichnis existiert |
-f | Reguläre Datei (keine Dir, Pipe, etc) | [ -f file.txt ] | Existiert und ist eine Datei |
-d | Verzeichnis | [ -d /etc ] | Existiert und ist ein Verzeichnis |
-r | Lesbar | [ -r file.txt ] | Datei ist für den aktuellen User lesbar |
-w | Schreibbar | [ -w file.txt ] | Datei ist beschreibbar |
-x | Ausführbar | [ -x script.sh ] | Datei ist ausführbar |
-s | Nicht leer | [ -s file.txt ] | Datei existiert und hat > 0 Byte |
-L | Symbolischer Link | [ -L link.txt ] | Datei ist ein Symlink |
-h | (wie -L ) Symbolischer Link (POSIX) | [ -h link.txt ] | Datei ist ein Symlink |
! | Negation | [ ! -f missing.txt ] | Datei existiert nicht |
Ausdruck | Bedeutung |
---|---|
$0 | Name des Skripts selbst |
$1 | Erstes Argument |
$2 | Zweites Argument |
$3 | Drittes Argument |
"$@" | Alle Argumente einzeln (als Array) → ideal für Schleifen |
"$*" | Alle Argumente als ein String |
$# | Anzahl der übergebenen Argumente |
while true; do_log ""read -rp "Ready to update credential - proceed? (yes/no) " yncase $yn inyes|y) break;;no|n) _log "ERROR" "Aborted!";;* ) _log "Invalid response!";;esacdone
_log() {if [ "$TERM" == "xterm-256color" ]; thentextRed=$(tput setaf 1)textYellow=$(tput setaf 3)textBlue=$(tput setaf 4)textNormal=$(tput sgr0)fiif [ "${1}" == "WARN" ]; thenprintf '%-7s %s\n' "${textYellow}[$1]${textNormal}" "$2" >&2return 0elif [ "${1}" == "ERROR" ]; thenprintf '%-7s %s\n' "${textRed}[$1]${textNormal}" "$2" >&2exit 1elif [ "${1}" == "INFO" ]; thenprintf '%-7s %s\n' "${textBlue}[$1]${textNormal}" "$2"return 0elseecho "$1"fi}_log "INFO" "This is an info message"_log "ERROR" "This is an error message"_log "WARN" "This is a warn message"
case "$1" ininit)init_log "INFO" "PolyCV initialized!";;init-start)init_log "INFO" "PolyCV initialized!"start_log "INFO" "PolyCV started!";;start)start_log "INFO" "PolyCV started!";;stop)stop_log "INFO" "PolyCV stopped!";;purge)purge;;*)echo "Usage: $0 {init|init-start|start|stop|purge\"server command\"}"exit 1;;esac
# Check if DEBUG environment variable is setif [ -n "$DEBUG" ]; then# If DEBUG is set, enable verbose output and exit on error/unset variableset -euxelse# Otherwise, just exit on errorset -efi
Netcup bietet virtuelle Root-Server für einen fairen Preis an.
Mit dem Gutschein 36nc17009374344 erhälst du 5€ auf deine erste Bestellung.
Hier bestellen und einen Rabatt erhalten.
Falls der Gutschein nicht mehr funktioniert, bitte in die Kommentare schreiben.
Quick Links