Compare commits
No commits in common. "576f0cb504807d5653e1d9cc4bbbd6ea1a906dde" and "3f6d191c4613935b5c5ce312c1ca1017ee0f5389" have entirely different histories.
576f0cb504
...
3f6d191c46
5 changed files with 247 additions and 247 deletions
|
@ -1,35 +0,0 @@
|
||||||
# tmux
|
|
||||||
alias tmuxa="tmux a -t "
|
|
||||||
alias tmuxn="tmux new -s "
|
|
||||||
alias tmuxl="tmux ls"
|
|
||||||
alias tmuxk="tmux kill-session -t"
|
|
||||||
# abkuerzungen
|
|
||||||
alias ip="ip --color=auto"
|
|
||||||
alias cls="clear"
|
|
||||||
alias tracert="traceroute"
|
|
||||||
alias df="df -h"
|
|
||||||
alias du="du -h"
|
|
||||||
alias grep="grep -i --color=auto"
|
|
||||||
alias hostname="hostname -f"
|
|
||||||
alias untar="tar -xzf"
|
|
||||||
alias unmount="umount"
|
|
||||||
alias ru="rip url"
|
|
||||||
alias mkdir="mkdir -p"
|
|
||||||
alias last="last -w"
|
|
||||||
alias ll="ls -lAh"
|
|
||||||
alias tree="tree -a -I **.git**"
|
|
||||||
# git
|
|
||||||
alias gs="git status"
|
|
||||||
alias gf="git fetch"
|
|
||||||
alias gdel="git reset --hard ; git clean -f"
|
|
||||||
alias glast="git log -1 HEAD --stat"
|
|
||||||
alias gd="git difftool"
|
|
||||||
alias gsp="git stage -p"
|
|
||||||
# docker
|
|
||||||
alias dcu="docker-compose up"
|
|
||||||
alias dcd="docker-compose down"
|
|
||||||
alias dcr="docker-compose down && docker-compose up -d"
|
|
||||||
# safeguard
|
|
||||||
alias mv="mv -i "
|
|
||||||
alias cp="cp -i "
|
|
||||||
alias rm="rm -i "
|
|
258
.bash_extra
258
.bash_extra
|
@ -1,18 +1,8 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# source extra files
|
|
||||||
source .bash_aliases
|
|
||||||
source .bash_functions
|
|
||||||
source .bash_ps1
|
|
||||||
|
|
||||||
### PATH
|
|
||||||
# add my scripts to PATH
|
|
||||||
PATH=$PATH:/home/mg/dotfiles/scripts
|
|
||||||
|
|
||||||
### tmux auto attach
|
### tmux auto attach
|
||||||
|
|
||||||
# Check if the user ID is not 0 (root)
|
# Check if the user ID is not 0 (root)
|
||||||
if [ "$EUID" -ne 0 ]; then
|
if [ "$EUID" -ne 0 ]; then
|
||||||
# then auto attach
|
|
||||||
if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then
|
if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then
|
||||||
tmux attach -t default || tmux new -s default
|
tmux attach -t default || tmux new -s default
|
||||||
fi
|
fi
|
||||||
|
@ -22,6 +12,33 @@ fi
|
||||||
eval "$(keychain -q --eval --timeout 60 --agents ssh,gpg)"
|
eval "$(keychain -q --eval --timeout 60 --agents ssh,gpg)"
|
||||||
export GPG_TTY=$(tty)
|
export GPG_TTY=$(tty)
|
||||||
|
|
||||||
|
### PATH
|
||||||
|
# add my scripts to PATH
|
||||||
|
PATH=$PATH:/home/mg/dotfiles/scripts
|
||||||
|
|
||||||
|
### PS1
|
||||||
|
# Farben
|
||||||
|
BLUE='\[\e[34m\]'
|
||||||
|
GREEN='\[\e[32m\]'
|
||||||
|
RED='\[\e[31m\]'
|
||||||
|
YELLOW='\[\e[33m\]'
|
||||||
|
WHITE='\[\e[97m\]'
|
||||||
|
BLACK='\[\e[30m\]'
|
||||||
|
RESET='\[\e[0m\]'
|
||||||
|
ORANGE='\[\e[0;33m\]'
|
||||||
|
# git-symbole: * unstaged, + staged, $ stashed, % untracked
|
||||||
|
export GIT_PS1_SHOWUNTRACKEDFILES=1
|
||||||
|
export GIT_PS1_SHOWDIRTYSTATE=1
|
||||||
|
export GIT_PS1_SHOWSTASHSTATE=1
|
||||||
|
export GIT_PS1_SHOWCONFLICTSTATE="yes"
|
||||||
|
export PS1="\n${BLUE}\u${GREEN}@${ORANGE}\$(cat /etc/hostname) ${GREEN}\$(dirs +0 | sed -E -e "s#/#${RED}/${RESET}${GREEN}#g")${YELLOW}\$(__git_ps1)${RESET}\n> "
|
||||||
|
# https://unix.stackexchange.com/questions/105958/terminal-prompt-not-wrapping-correctly
|
||||||
|
# alle Farben sind mit \[<wert>\] escaped, sonst kann die shell die länge nicht richtig ausrechnen
|
||||||
|
# https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh
|
||||||
|
# https://gist.github.com/justintv/168835
|
||||||
|
# https://misc.flogisoft.com/bash/tip_colors_and_formatting
|
||||||
|
# Zeige letzte Exit-Code: https://stackoverflow.com/questions/16715103/bash-prompt-with-the-last-exit-code
|
||||||
|
|
||||||
### Praktische Dinge
|
### Praktische Dinge
|
||||||
# Deaktiviere FlowControl
|
# Deaktiviere FlowControl
|
||||||
# https://unix.stackexchange.com/questions/332791/how-to-permanently-disable-ctrl-s-in-terminal
|
# https://unix.stackexchange.com/questions/332791/how-to-permanently-disable-ctrl-s-in-terminal
|
||||||
|
@ -49,5 +66,222 @@ shopt -s cdspell
|
||||||
# less mit maus scrollen
|
# less mit maus scrollen
|
||||||
export LESS='--mouse --wheel-lines=3 eFRX'
|
export LESS='--mouse --wheel-lines=3 eFRX'
|
||||||
|
|
||||||
# deaktiviere alias von ll, wird von mir explizit gesetzt
|
# deaktiviere alias von ll
|
||||||
|
# weiter unten ist die FUnktion ll definiert die entweder exa oder ls ausführt
|
||||||
unalias ll 2>/dev/null
|
unalias ll 2>/dev/null
|
||||||
|
|
||||||
|
### Funktionen
|
||||||
|
function rgf {
|
||||||
|
if [[ "$1" == "--help" ]]; then
|
||||||
|
echo "Finde alle Dateien die "\$1" im Namen haben."
|
||||||
|
echo ""
|
||||||
|
echo " Usage: rgf <string>"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "[ERROR] Suchbegriff fehlt..."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
if command -v rg >/dev/null ; then
|
||||||
|
rg --ignore-case --files --hidden --glob=!.git/ *"$1"*
|
||||||
|
else
|
||||||
|
echo "[INFO] ripgrep ist nicht installiert... suche mit 'find'"
|
||||||
|
find . -type f -not -path '*/\.git/*' -name *"$1"*
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function rgi {
|
||||||
|
if [[ "$1" == "--help" ]]; then
|
||||||
|
echo "Finde alle Dateien die "\$1" im Inhalt haben."
|
||||||
|
echo ""
|
||||||
|
echo " Usage: rgi <string>"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "[ERROR] Suchbegriff fehlt..."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
if command -v rg >/dev/null ; then
|
||||||
|
rg --ignore-case --hidden --glob=!.git/ "$1"
|
||||||
|
else
|
||||||
|
echo "[INFO] ripgrep ist nicht installiert... suche mit 'grep'"
|
||||||
|
grep --recursive --line-number --ignore-case --exclude-dir=".git" "$1" .
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function ssh {
|
||||||
|
# benennt das aktuelle tmux-windows nach dem ssh-ziel
|
||||||
|
# baut ssh-verbindung auf
|
||||||
|
if [ -n "${TMUX}" ]; then
|
||||||
|
tmux rename-window "${@: -1}"
|
||||||
|
fi
|
||||||
|
command ssh "$@"
|
||||||
|
if [ -n "${TMUX}" ]; then
|
||||||
|
tmux rename-window "$(hostname -f)"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function gcm {
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "Commit-Message fehlt, setze Default-Message..."
|
||||||
|
git commit -s -m "changed Files: $(git diff --name-only --staged)"
|
||||||
|
else
|
||||||
|
# übergibt alle argumente an git commit -m als commit nachricht
|
||||||
|
git commit -s -m "$*"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function gc {
|
||||||
|
case "$1" in
|
||||||
|
--help | -h)
|
||||||
|
cat <<EOF
|
||||||
|
|
||||||
|
Description:
|
||||||
|
"git checkout" on steroids
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
gc [--help|--new-branch] [branch]
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Print this help.
|
||||||
|
-b, --new-branch Create a new Branch instead changing to an existing branch.
|
||||||
|
|
||||||
|
Author:
|
||||||
|
michael.grote@posteo.de - git.mgrote.net
|
||||||
|
EOF
|
||||||
|
;;
|
||||||
|
--new-branch | -b)
|
||||||
|
(git checkout --quiet -b "$2" && git push --set-upstream "$(git remote | head -n 1)" "$2" && echo '>>> Create new branch "'"$2"'"') ||
|
||||||
|
(git checkout --quiet "$2" > /dev/null 2>&1 && echo '>>> Branch already exists, checking out... ')
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if [ ! -z $1 ] ; then
|
||||||
|
(echo ">>> Try local checkout" && git checkout --quiet "$1" > /dev/null 2>&1) ||
|
||||||
|
(echo ">>> Try remote checkout" && git checkout --quiet -b "$1" origin/"$1" > /dev/null 2>&1 || echo ">>> Unkown branch!")
|
||||||
|
else
|
||||||
|
(git checkout --quiet master > /dev/null 2>&1 && echo '>>> Try checking out master') ||
|
||||||
|
(git checkout --quiet main > /dev/null 2>&1 && echo '>>> Try checking out main') ||
|
||||||
|
(git checkout --quiet release > /dev/null 2>&1 && echo '>>> Try checking out release')
|
||||||
|
fi
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
function glogs {
|
||||||
|
# https://git-scm.com/docs/pretty-formats
|
||||||
|
# https://stackoverflow.com/questions/3631005/git-log-tabular-formatting
|
||||||
|
# https://stackoverflow.com/questions/7736781/how-to-make-git-log-not-prompt-to-continue
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
ncommits=30;
|
||||||
|
else
|
||||||
|
ncommits="$1";
|
||||||
|
fi;
|
||||||
|
git log --pretty=format:'%C(auto) %<|(16,trunc)%h %Cred %G?%Creset %<|(60,trunc)%s %<(20,trunc)%Cgreen%cr%Creset %<(15,trunc)%Cblue%an%Creset %Cred%D' --graph --all -$ncommits
|
||||||
|
}
|
||||||
|
function gp {
|
||||||
|
git pull "$@"
|
||||||
|
}
|
||||||
|
function mdtoc {
|
||||||
|
grep --recursive --include="*.md" ^# | sort --version-sort --field-separator=":" | awk 'BEGIN {FS=":"}{print $2 "&&" $1}' | column --table --separator "&&" --table-truncate 1,2
|
||||||
|
}
|
||||||
|
# "scrolle" durch die commit-history
|
||||||
|
ghist() {
|
||||||
|
local total_commits=$(git rev-list HEAD --count)
|
||||||
|
local current_commit=$total_commits
|
||||||
|
|
||||||
|
show_commit_diff() {
|
||||||
|
if [ $current_commit -le $total_commits ] && [ $current_commit -ge 1 ]; then
|
||||||
|
local commit_hash=$(git rev-list --reverse HEAD | sed -n "${current_commit}p")
|
||||||
|
git --no-pager show $commit_hash
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
clear # Clear the terminal
|
||||||
|
show_commit_diff
|
||||||
|
|
||||||
|
# Display navigation options
|
||||||
|
echo "-----------------------------------------------------------"
|
||||||
|
echo "Navigation: N - Next Commit, P - Previous Commit, Q - Quit"
|
||||||
|
echo "-----------------------------------------------------------"
|
||||||
|
read -n1 -s option
|
||||||
|
|
||||||
|
case $option in
|
||||||
|
p|P)
|
||||||
|
if [ $current_commit -gt 1 ]; then
|
||||||
|
((current_commit--))
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
n|N)
|
||||||
|
if [ $current_commit -lt $total_commits ]; then
|
||||||
|
((current_commit++))
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
q|Q)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid option"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
function sar {
|
||||||
|
case "$1" in
|
||||||
|
--help | -h)
|
||||||
|
cat <<EOF
|
||||||
|
Description:
|
||||||
|
Search and replace recursively.
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
sar [--help] <search> <replace>
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Print this help.
|
||||||
|
|
||||||
|
Author:
|
||||||
|
michael.grote@posteo.de - git.mgrote.net
|
||||||
|
EOF
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if [ "$1" != "-h" ] && [ "$1" != "--help" ] ; then
|
||||||
|
if [ $# = 2 ] ; then
|
||||||
|
find . -name '*' -type f -not -path '*/\.git/*' -exec sed -i "s/$1/$2/" {} \;
|
||||||
|
elif [ $# = 1 ] ; then
|
||||||
|
echo ">>> Not enough arguments..."
|
||||||
|
elif [ $# -gt 2 ] ; then
|
||||||
|
echo ">>> Too many arguments..."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
### Aliase
|
||||||
|
# tmux
|
||||||
|
alias tmuxa="tmux a -t "
|
||||||
|
alias tmuxn="tmux new -s "
|
||||||
|
alias tmuxl="tmux ls"
|
||||||
|
alias tmuxk="tmux kill-session -t"
|
||||||
|
# abkuerzungen
|
||||||
|
alias ip="ip --color=auto"
|
||||||
|
alias cls="clear"
|
||||||
|
alias tracert="traceroute"
|
||||||
|
alias df="df -h"
|
||||||
|
alias du="du -h"
|
||||||
|
alias grep="grep -i --color=auto"
|
||||||
|
alias hostname="hostname -f"
|
||||||
|
alias untar="tar -xzf"
|
||||||
|
alias unmount="umount"
|
||||||
|
alias ru="rip url"
|
||||||
|
alias mkdir="mkdir -p"
|
||||||
|
alias last="last -w"
|
||||||
|
alias ll="ls -lAh"
|
||||||
|
alias tree="tree -a -I **.git**"
|
||||||
|
# git
|
||||||
|
alias gs="git status"
|
||||||
|
alias gf="git fetch"
|
||||||
|
alias gdel="git reset --hard ; git clean -f"
|
||||||
|
alias glast="git log -1 HEAD --stat"
|
||||||
|
alias gd="git difftool"
|
||||||
|
alias gsp="git stage -p"
|
||||||
|
# docker
|
||||||
|
alias dcu="docker-compose up"
|
||||||
|
alias dcd="docker-compose down"
|
||||||
|
alias dcr="docker-compose down && docker-compose up -d"
|
||||||
|
# safeguard
|
||||||
|
alias mv="mv -i "
|
||||||
|
alias cp="cp -i "
|
||||||
|
alias rm="rm -i "
|
||||||
|
|
178
.bash_functions
178
.bash_functions
|
@ -1,178 +0,0 @@
|
||||||
### Funktionen
|
|
||||||
function rgf {
|
|
||||||
if [[ "$1" == "--help" ]]; then
|
|
||||||
echo "Finde alle Dateien die "\$1" im Namen haben."
|
|
||||||
echo ""
|
|
||||||
echo " Usage: rgf <string>"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
if [ -z "$1" ]; then
|
|
||||||
echo "[ERROR] Suchbegriff fehlt..."
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
if command -v rg >/dev/null ; then
|
|
||||||
rg --ignore-case --files --hidden --glob=!.git/ *"$1"*
|
|
||||||
else
|
|
||||||
echo "[INFO] ripgrep ist nicht installiert... suche mit 'find'"
|
|
||||||
find . -type f -not -path '*/\.git/*' -name *"$1"*
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
function rgi {
|
|
||||||
if [[ "$1" == "--help" ]]; then
|
|
||||||
echo "Finde alle Dateien die "\$1" im Inhalt haben."
|
|
||||||
echo ""
|
|
||||||
echo " Usage: rgi <string>"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
if [ -z "$1" ]; then
|
|
||||||
echo "[ERROR] Suchbegriff fehlt..."
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
if command -v rg >/dev/null ; then
|
|
||||||
rg --ignore-case --hidden --glob=!.git/ "$1"
|
|
||||||
else
|
|
||||||
echo "[INFO] ripgrep ist nicht installiert... suche mit 'grep'"
|
|
||||||
grep --recursive --line-number --ignore-case --exclude-dir=".git" "$1" .
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
function ssh {
|
|
||||||
# benennt das aktuelle tmux-windows nach dem ssh-ziel
|
|
||||||
# baut ssh-verbindung auf
|
|
||||||
if [ -n "${TMUX}" ]; then
|
|
||||||
tmux rename-window "${@: -1}"
|
|
||||||
fi
|
|
||||||
command ssh "$@"
|
|
||||||
if [ -n "${TMUX}" ]; then
|
|
||||||
tmux rename-window "$(hostname -f)"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
function gcm {
|
|
||||||
if [ -z "$1" ]; then
|
|
||||||
echo "Commit-Message fehlt, setze Default-Message..."
|
|
||||||
git commit -s -m "changed Files: $(git diff --name-only --staged)"
|
|
||||||
else
|
|
||||||
# übergibt alle argumente an git commit -m als commit nachricht
|
|
||||||
git commit -s -m "$*"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
function gc {
|
|
||||||
case "$1" in
|
|
||||||
--help | -h)
|
|
||||||
cat <<EOF
|
|
||||||
|
|
||||||
Description:
|
|
||||||
"git checkout" on steroids
|
|
||||||
|
|
||||||
Usage:
|
|
||||||
gc [--help|--new-branch] [branch]
|
|
||||||
|
|
||||||
Options:
|
|
||||||
-h, --help Print this help.
|
|
||||||
-b, --new-branch Create a new Branch instead changing to an existing branch.
|
|
||||||
|
|
||||||
Author:
|
|
||||||
michael.grote@posteo.de - git.mgrote.net
|
|
||||||
EOF
|
|
||||||
;;
|
|
||||||
--new-branch | -b)
|
|
||||||
(git checkout --quiet -b "$2" && git push --set-upstream "$(git remote | head -n 1)" "$2" && echo '>>> Create new branch "'"$2"'"') ||
|
|
||||||
(git checkout --quiet "$2" > /dev/null 2>&1 && echo '>>> Branch already exists, checking out... ')
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
if [ ! -z $1 ] ; then
|
|
||||||
(echo ">>> Try local checkout" && git checkout --quiet "$1" > /dev/null 2>&1) ||
|
|
||||||
(echo ">>> Try remote checkout" && git checkout --quiet -b "$1" origin/"$1" > /dev/null 2>&1 || echo ">>> Unkown branch!")
|
|
||||||
else
|
|
||||||
(git checkout --quiet master > /dev/null 2>&1 && echo '>>> Try checking out master') ||
|
|
||||||
(git checkout --quiet main > /dev/null 2>&1 && echo '>>> Try checking out main') ||
|
|
||||||
(git checkout --quiet release > /dev/null 2>&1 && echo '>>> Try checking out release')
|
|
||||||
fi
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
function glogs {
|
|
||||||
# https://git-scm.com/docs/pretty-formats
|
|
||||||
# https://stackoverflow.com/questions/3631005/git-log-tabular-formatting
|
|
||||||
# https://stackoverflow.com/questions/7736781/how-to-make-git-log-not-prompt-to-continue
|
|
||||||
if [ -z "$1" ]; then
|
|
||||||
ncommits=30;
|
|
||||||
else
|
|
||||||
ncommits="$1";
|
|
||||||
fi;
|
|
||||||
git log --pretty=format:'%C(auto) %<|(16,trunc)%h %Cred %G?%Creset %<|(60,trunc)%s %<(20,trunc)%Cgreen%cr%Creset %<(15,trunc)%Cblue%an%Creset %Cred%D' --graph --all -$ncommits
|
|
||||||
}
|
|
||||||
function gp {
|
|
||||||
git pull "$@"
|
|
||||||
}
|
|
||||||
function mdtoc {
|
|
||||||
grep --recursive --include="*.md" ^# | sort --version-sort --field-separator=":" | awk 'BEGIN {FS=":"}{print $2 "&&" $1}' | column --table --separator "&&" --table-truncate 1,2
|
|
||||||
}
|
|
||||||
# "scrolle" durch die commit-history
|
|
||||||
ghist() {
|
|
||||||
local total_commits=$(git rev-list HEAD --count)
|
|
||||||
local current_commit=$total_commits
|
|
||||||
|
|
||||||
show_commit_diff() {
|
|
||||||
if [ $current_commit -le $total_commits ] && [ $current_commit -ge 1 ]; then
|
|
||||||
local commit_hash=$(git rev-list --reverse HEAD | sed -n "${current_commit}p")
|
|
||||||
git --no-pager show $commit_hash
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
while true; do
|
|
||||||
clear # Clear the terminal
|
|
||||||
show_commit_diff
|
|
||||||
|
|
||||||
# Display navigation options
|
|
||||||
echo "-----------------------------------------------------------"
|
|
||||||
echo "Navigation: N - Next Commit, P - Previous Commit, Q - Quit"
|
|
||||||
echo "-----------------------------------------------------------"
|
|
||||||
read -n1 -s option
|
|
||||||
|
|
||||||
case $option in
|
|
||||||
p|P)
|
|
||||||
if [ $current_commit -gt 1 ]; then
|
|
||||||
((current_commit--))
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
n|N)
|
|
||||||
if [ $current_commit -lt $total_commits ]; then
|
|
||||||
((current_commit++))
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
q|Q)
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Invalid option"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
}
|
|
||||||
function sar {
|
|
||||||
case "$1" in
|
|
||||||
--help | -h)
|
|
||||||
cat <<EOF
|
|
||||||
Description:
|
|
||||||
Search and replace recursively.
|
|
||||||
|
|
||||||
Usage:
|
|
||||||
sar [--help] <search> <replace>
|
|
||||||
|
|
||||||
Options:
|
|
||||||
-h, --help Print this help.
|
|
||||||
|
|
||||||
Author:
|
|
||||||
michael.grote@posteo.de - git.mgrote.net
|
|
||||||
EOF
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
if [ "$1" != "-h" ] && [ "$1" != "--help" ] ; then
|
|
||||||
if [ $# = 2 ] ; then
|
|
||||||
find . -name '*' -type f -not -path '*/\.git/*' -exec sed -i "s/$1/$2/" {} \;
|
|
||||||
elif [ $# = 1 ] ; then
|
|
||||||
echo ">>> Not enough arguments..."
|
|
||||||
elif [ $# -gt 2 ] ; then
|
|
||||||
echo ">>> Too many arguments..."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
21
.bash_ps1
21
.bash_ps1
|
@ -1,21 +0,0 @@
|
||||||
# Farben
|
|
||||||
BLUE='\[\e[34m\]'
|
|
||||||
GREEN='\[\e[32m\]'
|
|
||||||
RED='\[\e[31m\]'
|
|
||||||
YELLOW='\[\e[33m\]'
|
|
||||||
WHITE='\[\e[97m\]'
|
|
||||||
BLACK='\[\e[30m\]'
|
|
||||||
RESET='\[\e[0m\]'
|
|
||||||
ORANGE='\[\e[0;33m\]'
|
|
||||||
# git-symbole: * unstaged, + staged, $ stashed, % untracked
|
|
||||||
export GIT_PS1_SHOWUNTRACKEDFILES=1
|
|
||||||
export GIT_PS1_SHOWDIRTYSTATE=1
|
|
||||||
export GIT_PS1_SHOWSTASHSTATE=1
|
|
||||||
export GIT_PS1_SHOWCONFLICTSTATE="yes"
|
|
||||||
export PS1="\n${BLUE}\u${GREEN}@${ORANGE}\$(cat /etc/hostname) ${GREEN}\$(dirs +0 | sed -E -e "s#/#${RED}/${RESET}${GREEN}#g")${YELLOW}\$(__git_ps1)${RESET}\n> "
|
|
||||||
# https://unix.stackexchange.com/questions/105958/terminal-prompt-not-wrapping-correctly
|
|
||||||
# alle Farben sind mit \[<wert>\] escaped, sonst kann die shell die länge nicht richtig ausrechnen
|
|
||||||
# https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh
|
|
||||||
# https://gist.github.com/justintv/168835
|
|
||||||
# https://misc.flogisoft.com/bash/tip_colors_and_formatting
|
|
||||||
# Zeige letzte Exit-Code: https://stackoverflow.com/questions/16715103/bash-prompt-with-the-last-exit-code
|
|
|
@ -11,7 +11,7 @@ steps:
|
||||||
image: "koalaman/shellcheck-alpine:v0.10.0"
|
image: "koalaman/shellcheck-alpine:v0.10.0"
|
||||||
commands:
|
commands:
|
||||||
- |
|
- |
|
||||||
find . -type f -not -path './.git/*' -exec file {} \; | while IFS= read -r line; do
|
find . -type f -not -path './.git/*' -not -path './collections/*' -exec file {} \; | while IFS= read -r line; do
|
||||||
if echo "$line" | grep -q "shell script"; then
|
if echo "$line" | grep -q "shell script"; then
|
||||||
file_path=$(echo "$line" | awk -F':' '{print $1}')
|
file_path=$(echo "$line" | awk -F':' '{print $1}')
|
||||||
shellcheck "$file_path"
|
shellcheck "$file_path"
|
||||||
|
|
Loading…
Reference in a new issue