diff --git a/ps1.sh b/ps1.sh new file mode 100644 index 0000000..ea4cbcf --- /dev/null +++ b/ps1.sh @@ -0,0 +1,38 @@ + +_ps_color_reset='\[\e[0m\]' +_ps_color_user='\[\e[01;38;5;118m\]' +_ps_color_host='\[\e[01;38;5;35m\]' +_ps_color_msystem='\[\e[01;38;5;147m\]' +_ps_color_path='\[\e[01;38;5;226m\]' +_ps_color_git='\[\e[01;38;5;75m\]' +_ps_color_date='\[\e[01;38;5;015m\]' +_ps_color_symbol='\[\e[01;38;5;187m\]' + +_ps1_git_branch() { + branch="$(git branch --show-current 2>/dev/null)" + if [ -n "$branch" ]; then + echo "${branch}" + else + echo "---" + fi +} + + +PROMPT_COMMAND='PS1_CMD1=$(_ps1_git_branch);PS1_CMD2=$(date "+%d.%m.%Y %H:%M:%S")' + +if [ -n "$MSYSTEM" ]; then + export PS1='\[\e]0;\w\a\]\n'"$_ps_color_user"'${USER#DESKTOP+}'"$_ps_color_symbol"'@'"$_ps_color_host"'\h '"$_ps_color_msystem"'$MSYSTEM '"$_ps_color_path"'\w'"$_ps_color_symbol"'<'"$_ps_color_git"'${PS1_CMD1}'"$_ps_color_symbol"'>\n['"$_ps_color_date"'${PS1_CMD2}'"$_ps_color_symbol"']$ '"$_ps_color_reset" +else + export PS1='\[\e]0;\w\a\]\n'"$_ps_color_user"'\u'"$_ps_color_symbol"'@'"$_ps_color_host"'\H '"$_ps_color_path"'\w'"$_ps_color_symbol"'<'"$_ps_color_git"'${PS1_CMD1}'"$_ps_color_symbol"'>\n['"$_ps_color_date"'${PS1_CMD2}'"$_ps_color_symbol"']$ '"$_ps_color_reset" +fi + +unset _ps_color_reset +unset _ps_color_user +unset _ps_color_host +unset _ps_color_msystem +unset _ps_color_path +unset _ps_color_git +unset _ps_color_date +unset _ps_color_symbol + + diff --git a/sudo.sh b/sudo.sh new file mode 100644 index 0000000..be9ca3e --- /dev/null +++ b/sudo.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +sudo-interactive() { + if [ -z "$1" ]; then + echo "No username given!" >&2 + return 2 + fi + + passwd_line=$(cat /etc/passwd | egrep "^$1:") + if [ -z "$passwd_line" ]; then + echo "Username invalid" >&2 + return 2 + fi + uid=$(echo "$passwd_line" | cut -d: -f3) + sudo machinectl shell --uid $uid +}