Merge branch 'master' of ssh://gitlab.tlcnet.info:227/tracey/shell-scripts
This commit is contained in:
commit
1bdaa1e545
13 changed files with 404 additions and 2 deletions
|
|
@ -1 +1,5 @@
|
|||
ZSH and Bash config files for personal use
|
||||
# ZSH and Bash config files for personal use
|
||||
## TODO
|
||||
- Add .vimrc
|
||||
- Add to .vimrc command to map <F3> such that it can switch between paste and nopaste modes:
|
||||
`set pastetoggle=<F3>`
|
||||
9
home_config/.vimrc
Normal file
9
home_config/.vimrc
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
|
||||
filetype plugin indent on
|
||||
" show existing tab with 4 spaces width
|
||||
set tabstop=4
|
||||
" when indenting with '>', use 4 spaces width
|
||||
set shiftwidth=4
|
||||
" On pressing tab, insert 4 spaces
|
||||
set expandtab
|
||||
set pastetoggle=<F3>
|
||||
4
home_zsh/.zsh/functions/chpwd_update_git_vars
Executable file
4
home_zsh/.zsh/functions/chpwd_update_git_vars
Executable file
|
|
@ -0,0 +1,4 @@
|
|||
# update the prompt after changing to a new directory.
|
||||
# http://sebastiancelis.com/2009/11/16/zsh-prompt-git-users/
|
||||
|
||||
update_current_git_vars
|
||||
5
home_zsh/.zsh/functions/precmd_update_git_vars
Executable file
5
home_zsh/.zsh/functions/precmd_update_git_vars
Executable file
|
|
@ -0,0 +1,5 @@
|
|||
if [ -n "$__EXECUTED_GIT_COMMAND" ]; then
|
||||
update_current_git_vars
|
||||
unset __EXECUTED_GIT_COMMAND
|
||||
fi
|
||||
|
||||
6
home_zsh/.zsh/functions/preexec_update_git_vars
Executable file
6
home_zsh/.zsh/functions/preexec_update_git_vars
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
case "$1" in
|
||||
git*)
|
||||
__EXECUTED_GIT_COMMAND=1
|
||||
;;
|
||||
esac
|
||||
|
||||
32
home_zsh/.zsh/functions/prompt_git_info
Executable file
32
home_zsh/.zsh/functions/prompt_git_info
Executable file
|
|
@ -0,0 +1,32 @@
|
|||
# Git prompt stuff
|
||||
# http://sebastiancelis.com/2009/11/16/zsh-prompt-git-users/
|
||||
|
||||
if [ -n "$__CURRENT_GIT_BRANCH" ]; then
|
||||
local s="("
|
||||
s+="$__CURRENT_GIT_BRANCH"
|
||||
case "$__CURRENT_GIT_BRANCH_STATUS" in
|
||||
ahead)
|
||||
git_color="%{${fg[yellow]}%}"
|
||||
s+="↑"
|
||||
;;
|
||||
diverged)
|
||||
git_color="%{${fg[yellow]}%}"
|
||||
s+="↕"
|
||||
;;
|
||||
behind)
|
||||
git_color="%{${fg[yellow]}%}"
|
||||
s+="↓"
|
||||
;;
|
||||
esac
|
||||
if [ -n "$__CURRENT_GIT_BRANCH_IS_CLEAN" ]; then
|
||||
git_color="%{${fg[green]}%}"
|
||||
fi
|
||||
if [ -n "$__CURRENT_GIT_BRANCH_IS_DIRTY" ]; then
|
||||
git_color="%{${fg[red]}%}"
|
||||
s+="⚡"
|
||||
fi
|
||||
s+=")"
|
||||
|
||||
printf " %s%s" "$git_color" $s
|
||||
fi
|
||||
|
||||
37
home_zsh/.zsh/functions/update_current_git_vars
Executable file
37
home_zsh/.zsh/functions/update_current_git_vars
Executable file
|
|
@ -0,0 +1,37 @@
|
|||
# This file is used to set a few environment variables which will make it easy to build up our prompt
|
||||
# http://sebastiancelis.com/2009/11/16/zsh-prompt-git-users/
|
||||
|
||||
unset __CURRENT_GIT_BRANCH
|
||||
unset __CURRENT_GIT_BRANCH_STATUS
|
||||
unset __CURRENT_GIT_BRANCH_IS_DIRTY
|
||||
|
||||
local st="$(git status 2>/dev/null)"
|
||||
|
||||
if [[ -n "$st" ]]; then
|
||||
local -a arr
|
||||
arr=(${(f)st})
|
||||
if [[ $arr[1] =~ 'Not currently on any branch.' ]]; then
|
||||
__CURRENT_GIT_BRANCH='no-branch'
|
||||
else
|
||||
__CURRENT_GIT_BRANCH="${arr[1][(w)4]}";
|
||||
fi
|
||||
|
||||
if [[ $st =~ 'nothing to commit, working directory clean' ]]; then
|
||||
__CURRENT_GIT_BRANCH_IS_CLEAN='1'
|
||||
fi
|
||||
|
||||
if [[ $arr[2] =~ 'Your branch is' ]]; then
|
||||
if [[ $arr[2] =~ 'ahead' ]]; then
|
||||
__CURRENT_GIT_BRANCH_STATUS='ahead'
|
||||
elif [[ $arr[2] =~ 'diverged' ]]; then
|
||||
__CURRENT_GIT_BRANCH_STATUS='diverged'
|
||||
else
|
||||
__CURRENT_GIT_BRANCH_STATUS='behind'
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ! $st =~ 'nothing to commit' ]]; then
|
||||
__CURRENT_GIT_BRANCH_IS_DIRTY='1'
|
||||
fi
|
||||
|
||||
fi
|
||||
|
|
@ -6,7 +6,10 @@ alias ted='java -jar /home/tracey/bin/ted.jar'
|
|||
alias ll='ls -alFh --group-directories-first'
|
||||
alias la='ls -A'
|
||||
alias l='ls -CF'
|
||||
alias lad='ls -ldh' # ls directory
|
||||
alias tree='tree -Csu' # nice alternative to 'recursive ls'
|
||||
alias colo='ssh cp'
|
||||
alias colosync='ssh syncthing@cp'
|
||||
alias mountpi='sshfs -o idmap=user pi@pi3:/home/pi /home/tracey/pi3'
|
||||
alias unpi='fusermount -u /home/tracey/pi3'
|
||||
alias less='less -r'
|
||||
|
|
@ -6,6 +6,13 @@ prompt adam1
|
|||
|
||||
setopt histignorealldups sharehistory
|
||||
|
||||
#-------------------------------------------------------------
|
||||
# Keybindings
|
||||
#-------------------------------------------------------------
|
||||
|
||||
bindkey '^H' backward-kill-word
|
||||
bindkey '^F' forward-word
|
||||
bindkey '^B' backward-word
|
||||
# Use emacs keybindings even if our EDITOR is set to vi
|
||||
bindkey -e
|
||||
|
||||
|
|
@ -15,8 +22,10 @@ SAVEHIST=1000
|
|||
HISTFILE=~/.zsh_history
|
||||
|
||||
# Use modern completion system
|
||||
autoload -Uz compinit
|
||||
autoload -U compinit promptinit zcalc zsh-mime-setup
|
||||
compinit
|
||||
promptinit
|
||||
zsh-mime-setup
|
||||
|
||||
zstyle ':completion:*' auto-description 'specify: %d'
|
||||
zstyle ':completion:*' completer _expand _complete _correct _approximate
|
||||
|
|
@ -45,3 +54,44 @@ fi
|
|||
|
||||
eval `ssh-agent -s` && ssh-agent
|
||||
ssh-add .ssh/tlc_gitlab
|
||||
|
||||
#-------------------------------------------------------------
|
||||
# Prompt bits
|
||||
#-------------------------------------------------------------
|
||||
# Initialize colors.
|
||||
autoload -U colors
|
||||
colors
|
||||
|
||||
# Allow for functions in the prompt.
|
||||
setopt PROMPT_SUBST
|
||||
|
||||
# Autoload zsh functions.
|
||||
fpath=(~/.zsh/functions $fpath)
|
||||
autoload -U ~/.zsh/functions/*(:t)
|
||||
|
||||
# Enable auto-execution of functions.
|
||||
typeset -ga preexec_functions
|
||||
typeset -ga precmd_functions
|
||||
typeset -ga chpwd_functions
|
||||
|
||||
# Append git functions needed for prompt.
|
||||
preexec_functions+='preexec_update_git_vars'
|
||||
precmd_functions+='precmd_update_git_vars'
|
||||
chpwd_functions+='chpwd_update_git_vars'
|
||||
|
||||
# For terminix / tilix
|
||||
if [[ $TERMINIX_ID ]]; then
|
||||
source /etc/profile.d/vte.sh
|
||||
fi
|
||||
|
||||
# Set the prompt.
|
||||
#PROMPT=$'%{${fg[cyan]}%}%B%~%b$(prompt_git_info)%{${fg[default]}%} '
|
||||
PROMPT=$'%{${fg[magenta]}%}%n%{$reset_color%}\@%{$fg[blue]%}%m%{$reset_color%} %{${fg[cyan]}%}%B%~%b$(prompt_git_info)%{${fg[default]}%} %{$fg[blue]%}%%%{$reset_color%} '
|
||||
|
||||
# Export stuff for sshfs over VPN
|
||||
echo "SSH_AGENT_PID=$SSH_AGENT_PID; export SSH_AGENT_PID;" >~/.thestuff
|
||||
echo "SSH_AUTH_SOCK=$SSH_AUTH_SOCK; export SSH_AUTH_SOCK;" >>~/.thestuff
|
||||
|
||||
#ssh-agent
|
||||
# Export key file to agent keychain
|
||||
keychain --agents ssh --quick --quiet --noask /home/tracey/.ssh/*
|
||||
11
home_zsh/zsh_notes.txt
Normal file
11
home_zsh/zsh_notes.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
#zsh notes
|
||||
https://wiki.archlinux.org/index.php/Zsh
|
||||
|
||||
This is an example of a two-sided prompt:
|
||||
|
||||
PROMPT='%F{red}%n%f@%F{blue}%m%f %F{yellow}%1~%f %# '
|
||||
RPROMPT='[%F{yellow}%?%f]'
|
||||
|
||||
And here's how it will be displayed:
|
||||
|
||||
username@host ~ % [0]
|
||||
120
selenium_bash/.bashrc
Normal file
120
selenium_bash/.bashrc
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
# ~/.bashrc: executed by bash(1) for non-login shells.
|
||||
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
||||
# for examples
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
case $- in
|
||||
*i*) ;;
|
||||
*) return;;
|
||||
esac
|
||||
|
||||
# don't put duplicate lines or lines starting with space in the history.
|
||||
# See bash(1) for more options
|
||||
HISTCONTROL=ignoreboth
|
||||
|
||||
# append to the history file, don't overwrite it
|
||||
shopt -s histappend
|
||||
|
||||
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
||||
HISTSIZE=1000
|
||||
HISTFILESIZE=2000
|
||||
|
||||
# check the window size after each command and, if necessary,
|
||||
# update the values of LINES and COLUMNS.
|
||||
shopt -s checkwinsize
|
||||
|
||||
# If set, the pattern "**" used in a pathname expansion context will
|
||||
# match all files and zero or more directories and subdirectories.
|
||||
#shopt -s globstar
|
||||
|
||||
# make less more friendly for non-text input files, see lesspipe(1)
|
||||
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
||||
|
||||
# set variable identifying the chroot you work in (used in the prompt below)
|
||||
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
|
||||
debian_chroot=$(cat /etc/debian_chroot)
|
||||
fi
|
||||
|
||||
# set a fancy prompt (non-color, unless we know we "want" color)
|
||||
case "$TERM" in
|
||||
xterm-color|*-256color) color_prompt=yes;;
|
||||
esac
|
||||
|
||||
# uncomment for a colored prompt, if the terminal has the capability; turned
|
||||
# off by default to not distract the user: the focus in a terminal window
|
||||
# should be on the output of commands, not on the prompt
|
||||
#force_color_prompt=yes
|
||||
|
||||
if [ -n "$force_color_prompt" ]; then
|
||||
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
||||
# We have color support; assume it's compliant with Ecma-48
|
||||
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
|
||||
# a case would tend to support setf rather than setaf.)
|
||||
color_prompt=yes
|
||||
else
|
||||
color_prompt=
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$color_prompt" = yes ]; then
|
||||
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
|
||||
else
|
||||
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
|
||||
fi
|
||||
unset color_prompt force_color_prompt
|
||||
|
||||
# If this is an xterm set the title to user@host:dir
|
||||
case "$TERM" in
|
||||
xterm*|rxvt*)
|
||||
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# enable color support of ls and also add handy aliases
|
||||
if [ -x /usr/bin/dircolors ]; then
|
||||
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
||||
alias ls='ls --color=auto'
|
||||
#alias dir='dir --color=auto'
|
||||
#alias vdir='vdir --color=auto'
|
||||
|
||||
alias grep='grep --color=auto'
|
||||
alias fgrep='fgrep --color=auto'
|
||||
alias egrep='egrep --color=auto'
|
||||
fi
|
||||
|
||||
# colored GCC warnings and errors
|
||||
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
|
||||
|
||||
# some more ls aliases
|
||||
alias ll='ls -alF'
|
||||
alias la='ls -A'
|
||||
alias l='ls -CF'
|
||||
|
||||
# Add an "alert" alias for long running commands. Use like so:
|
||||
# sleep 10; alert
|
||||
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
|
||||
|
||||
# Alias definitions.
|
||||
# You may want to put all your additions into a separate file like
|
||||
# ~/.bash_aliases, instead of adding them here directly.
|
||||
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
|
||||
|
||||
if [ -f ~/.bash_aliases ]; then
|
||||
. ~/.bash_aliases
|
||||
fi
|
||||
|
||||
# enable programmable completion features (you don't need to enable
|
||||
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
|
||||
# sources /etc/bash.bashrc).
|
||||
if ! shopt -oq posix; then
|
||||
if [ -f /usr/share/bash-completion/bash_completion ]; then
|
||||
. /usr/share/bash-completion/bash_completion
|
||||
elif [ -f /etc/bash_completion ]; then
|
||||
. /etc/bash_completion
|
||||
fi
|
||||
fi
|
||||
|
||||
#List upgradeable packages
|
||||
apt list --upgradeable
|
||||
22
selenium_bash/.profile
Normal file
22
selenium_bash/.profile
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# ~/.profile: executed by the command interpreter for login shells.
|
||||
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
|
||||
# exists.
|
||||
# see /usr/share/doc/bash/examples/startup-files for examples.
|
||||
# the files are located in the bash-doc package.
|
||||
|
||||
# the default umask is set in /etc/profile; for setting the umask
|
||||
# for ssh logins, install and configure the libpam-umask package.
|
||||
#umask 022
|
||||
|
||||
# if running bash
|
||||
if [ -n "$BASH_VERSION" ]; then
|
||||
# include .bashrc if it exists
|
||||
if [ -f "$HOME/.bashrc" ]; then
|
||||
. "$HOME/.bashrc"
|
||||
fi
|
||||
fi
|
||||
|
||||
# set PATH so it includes user's private bin if it exists
|
||||
if [ -d "$HOME/bin" ] ; then
|
||||
PATH="$HOME/bin:$PATH"
|
||||
fi
|
||||
99
selenium_bash/.rootbashrc
Normal file
99
selenium_bash/.rootbashrc
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
# ~/.bashrc: executed by bash(1) for non-login shells.
|
||||
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
||||
# for examples
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
[ -z "$PS1" ] && return
|
||||
|
||||
# don't put duplicate lines in the history. See bash(1) for more options
|
||||
# ... or force ignoredups and ignorespace
|
||||
HISTCONTROL=ignoredups:ignorespace
|
||||
|
||||
# append to the history file, don't overwrite it
|
||||
shopt -s histappend
|
||||
|
||||
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
||||
HISTSIZE=1000
|
||||
HISTFILESIZE=2000
|
||||
|
||||
# check the window size after each command and, if necessary,
|
||||
# update the values of LINES and COLUMNS.
|
||||
shopt -s checkwinsize
|
||||
|
||||
# make less more friendly for non-text input files, see lesspipe(1)
|
||||
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
||||
|
||||
# set variable identifying the chroot you work in (used in the prompt below)
|
||||
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
|
||||
debian_chroot=$(cat /etc/debian_chroot)
|
||||
fi
|
||||
|
||||
# set a fancy prompt (non-color, unless we know we "want" color)
|
||||
case "$TERM" in
|
||||
xterm-color) color_prompt=yes;;
|
||||
esac
|
||||
|
||||
# uncomment for a colored prompt, if the terminal has the capability; turned
|
||||
# off by default to not distract the user: the focus in a terminal window
|
||||
# should be on the output of commands, not on the prompt
|
||||
#force_color_prompt=yes
|
||||
|
||||
if [ -n "$force_color_prompt" ]; then
|
||||
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
||||
# We have color support; assume it's compliant with Ecma-48
|
||||
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
|
||||
# a case would tend to support setf rather than setaf.)
|
||||
color_prompt=yes
|
||||
else
|
||||
color_prompt=
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$color_prompt" = yes ]; then
|
||||
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
|
||||
else
|
||||
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
|
||||
fi
|
||||
unset color_prompt force_color_prompt
|
||||
|
||||
# If this is an xterm set the title to user@host:dir
|
||||
case "$TERM" in
|
||||
xterm*|rxvt*)
|
||||
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# enable color support of ls and also add handy aliases
|
||||
if [ -x /usr/bin/dircolors ]; then
|
||||
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
||||
alias ls='ls --color=auto'
|
||||
#alias dir='dir --color=auto'
|
||||
#alias vdir='vdir --color=auto'
|
||||
|
||||
alias grep='grep --color=auto'
|
||||
alias fgrep='fgrep --color=auto'
|
||||
alias egrep='egrep --color=auto'
|
||||
fi
|
||||
|
||||
# some more ls aliases
|
||||
alias ll='ls -alF'
|
||||
alias la='ls -A'
|
||||
alias l='ls -CF'
|
||||
|
||||
# Alias definitions.
|
||||
# You may want to put all your additions into a separate file like
|
||||
# ~/.bash_aliases, instead of adding them here directly.
|
||||
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
|
||||
|
||||
if [ -f ~/.bash_aliases ]; then
|
||||
. ~/.bash_aliases
|
||||
fi
|
||||
|
||||
# enable programmable completion features (you don't need to enable
|
||||
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
|
||||
# sources /etc/bash.bashrc).
|
||||
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
|
||||
# . /etc/bash_completion
|
||||
#fi
|
||||
Loading…
Add table
Add a link
Reference in a new issue