mkshrc: bash compatibility????
This commit is contained in:
parent
37986cf811
commit
7d2c01f2b0
1
base/.bashrc
Symbolic link
1
base/.bashrc
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
.mkshrc
|
201
base/.mkshrc
201
base/.mkshrc
|
@ -4,87 +4,9 @@ if [ -f /etc/shrc ]; then
|
||||||
. /etc/shrc
|
. /etc/shrc
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export EDITOR=vim
|
export EDITOR=nvim
|
||||||
|
|
||||||
# Force 256color term for screen
|
|
||||||
if [ "$TERM" = "screen" ] ; then
|
|
||||||
TERM="screen-256color"
|
|
||||||
export TERM
|
|
||||||
fi
|
|
||||||
|
|
||||||
export LANG=
|
|
||||||
export LC_ALL=en_US.UTF-8
|
|
||||||
|
|
||||||
## Ripped from a custom /etc/shrc, not very useful here
|
|
||||||
UID="$(id -u)"
|
|
||||||
if [ "$UID" -eq "0" ] ; then
|
|
||||||
PROMPT="#"
|
|
||||||
USER_COLOR='[31m'
|
|
||||||
else
|
|
||||||
PROMPT="$"
|
|
||||||
USER_COLOR='[96m'
|
|
||||||
fi
|
|
||||||
|
|
||||||
get_ps1() {
|
|
||||||
rv=$?
|
|
||||||
if [ "$rv" -ne "0" -a "$rv" -ne "130" ] ; then
|
|
||||||
print -n "$rv | "
|
|
||||||
fi
|
|
||||||
if [ -n "$SSH_TTY" ] ; then
|
|
||||||
print -n "[33m[SSH] "
|
|
||||||
fi
|
|
||||||
print -n "${USER_COLOR}${HOST%%.*}:[39m";
|
|
||||||
if [[ "${PWD#$HOME}" != "$PWD" ]] ; then
|
|
||||||
print -n "~${PWD#$HOME}"
|
|
||||||
else
|
|
||||||
print -n "$PWD"
|
|
||||||
fi
|
|
||||||
print -n "${USER_COLOR} ${PROMPT}[0m "
|
|
||||||
}
|
|
||||||
|
|
||||||
case "$-" in *i*)
|
|
||||||
# interactive mode settings go here
|
|
||||||
if /bin/test -z "${HOST}"; then
|
|
||||||
HOST="$(hostname)"
|
|
||||||
fi
|
|
||||||
PS1='$(get_ps1)'
|
|
||||||
set -o emacs
|
|
||||||
# This file is used by shells that might not support
|
|
||||||
# set -o tabcomplete, so check before trying to use it.
|
|
||||||
( set -o tabcomplete 2>/dev/null ) && set -o tabcomplete
|
|
||||||
|
|
||||||
alias gpg='gpg2'
|
|
||||||
alias ctop='xclip -selection clipboard -out | xclip -selection primary -in'
|
|
||||||
alias ptoc='xclip -selection primary -out | xclip -selection primary -in'
|
|
||||||
alias mutt='neomutt'
|
|
||||||
alias define='dict'
|
|
||||||
# Hack to bubble up profile, see bin/tmux-shim
|
|
||||||
alias tmux="$HOME/bin/tmux-shim"
|
|
||||||
|
|
||||||
if [ "${KSH_VERSION:-notksh}" != "notksh" ] ; then
|
|
||||||
[[ "${KSH_VERSION}" == *"MIRBSD KSH"* ]] && bind '^L=clear-screen'
|
|
||||||
else
|
|
||||||
hn="$(hostname)"
|
|
||||||
PS1='${hn}:${PWD} \$ '
|
|
||||||
fi
|
|
||||||
|
|
||||||
calc()
|
|
||||||
{
|
|
||||||
echo "$@" | bc
|
|
||||||
}
|
|
||||||
|
|
||||||
nconv()
|
|
||||||
{
|
|
||||||
if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then
|
|
||||||
echo "usage: nconv [from-base] [to-base] [num]" >&2
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "obase=$2; ibase=$1; $3" | bc
|
|
||||||
}
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
## Extra paths
|
||||||
if [ -f "$HOME/.cargo/env" ] ; then
|
if [ -f "$HOME/.cargo/env" ] ; then
|
||||||
. $HOME/.cargo/env
|
. $HOME/.cargo/env
|
||||||
fi
|
fi
|
||||||
|
@ -119,3 +41,122 @@ if [ -d "$HOME/Library/Android/sdk" ] ; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export PATH
|
export PATH
|
||||||
|
|
||||||
|
# Force 256color term for screen
|
||||||
|
if [ "$TERM" = "screen" ] ; then
|
||||||
|
TERM="screen-256color"
|
||||||
|
export TERM
|
||||||
|
fi
|
||||||
|
|
||||||
|
export LANG=
|
||||||
|
export LC_ALL=en_US.UTF-8
|
||||||
|
|
||||||
|
## Ripped from a custom /etc/shrc, not very useful here
|
||||||
|
if [ -z "$UID" ] ; then
|
||||||
|
UID="$(id -u)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
BRL="["
|
||||||
|
BRR=""
|
||||||
|
if [ -n "$BASH_VERSION" ] ; then
|
||||||
|
BRL="\\[\\\\033["
|
||||||
|
BRR="\\]"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$UID" -eq "0" ] ; then
|
||||||
|
PROMPT="#"
|
||||||
|
USER_COLOR="${BRL}31m${BRR}"
|
||||||
|
else
|
||||||
|
PROMPT="$"
|
||||||
|
USER_COLOR="${BRL}96m${BRR}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
getrv() {
|
||||||
|
# HACK: Since the if statement in get_ps1 will clobber the old
|
||||||
|
# return value, KSH passes a cached version of the old val along
|
||||||
|
# so we can use it here.
|
||||||
|
rv=${1:-$?}
|
||||||
|
if [ "$rv" -ne "0" -a "$rv" -ne "130" ] ; then
|
||||||
|
printf "$rv | "
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
get_ps1() {
|
||||||
|
# Bash uses a static version of this, so we have to make a couple
|
||||||
|
# changes for post-processing
|
||||||
|
rv=$?
|
||||||
|
if [ -n "$BASH_VERSION" ] ; then
|
||||||
|
printf '$(getrv)'
|
||||||
|
else
|
||||||
|
getrv $rv
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$SSH_TTY" ] ; then
|
||||||
|
printf "${BRL}33m${BRR}[SSH] "
|
||||||
|
fi
|
||||||
|
printf "${USER_COLOR}${HOST%%.*}:${BRL}39m${BRR}";
|
||||||
|
if [ -n "$BASH_VERSION" ] ; then
|
||||||
|
printf "\w"
|
||||||
|
elif [[ "${PWD#$HOME}" != "$PWD" ]] ; then
|
||||||
|
printf "~${PWD#$HOME}"
|
||||||
|
else
|
||||||
|
printf "$PWD"
|
||||||
|
fi
|
||||||
|
printf "${USER_COLOR} ${PROMPT}${BRL}0m${BRR} "
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$-" in *i*)
|
||||||
|
# interactive mode settings go here
|
||||||
|
echo "interactive"
|
||||||
|
if /bin/test -z "${HOST}"; then
|
||||||
|
HOST="$(hostname)"
|
||||||
|
fi
|
||||||
|
PS1='$(get_ps1)'
|
||||||
|
set -o emacs
|
||||||
|
|
||||||
|
# This file is used by shells that might not support
|
||||||
|
# set -o tabcomplete, so check before trying to use it.
|
||||||
|
( set -o tabcomplete 2>/dev/null ) && set -o tabcomplete
|
||||||
|
|
||||||
|
if command -v xclip >/dev/null ; then
|
||||||
|
alias ctop='xclip -selection clipboard -out | xclip -selection primary -in'
|
||||||
|
alias ptoc='xclip -selection primary -out | xclip -selection primary -in'
|
||||||
|
fi
|
||||||
|
|
||||||
|
alias define='dict'
|
||||||
|
|
||||||
|
if command -v nvim >/dev/null ; then
|
||||||
|
alias vim='nvim'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Hack to bubble up profile, see bin/tmux-shim
|
||||||
|
alias tmux="$HOME/bin/tmux-shim"
|
||||||
|
|
||||||
|
# Set bash PS1
|
||||||
|
if [ -n "$BASH_VERSION" ] ; then
|
||||||
|
PS1="$(get_ps1)"
|
||||||
|
export PS1
|
||||||
|
elif [ "${KSH_VERSION:-notksh}" != "notksh" ] ; then
|
||||||
|
[[ "${KSH_VERSION}" == *"MIRBSD KSH"* ]] && bind '^L=clear-screen'
|
||||||
|
else
|
||||||
|
hn="$(hostname)"
|
||||||
|
PS1='${hn}:${PWD} \$ '
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Tiny helper functions
|
||||||
|
calc()
|
||||||
|
{
|
||||||
|
echo "$@" | bc
|
||||||
|
}
|
||||||
|
|
||||||
|
nconv()
|
||||||
|
{
|
||||||
|
if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then
|
||||||
|
echo "usage: nconv [from-base] [to-base] [num]" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "obase=$2; ibase=$1; $3" | bc
|
||||||
|
}
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
Loading…
Reference in a new issue