113 lines
2.8 KiB
Bash
113 lines
2.8 KiB
Bash
## Source /etc/profile ##
|
|
|
|
# Interactive shell check (PS1 is the way Debian scripts check and
|
|
# shopt login_shell is the way Slackware does it)
|
|
if [ "$PS1" ] || ! shopt -q login_shell; then
|
|
if [ -r /etc/profile ]; then
|
|
. /etc/profile
|
|
fi
|
|
|
|
# Source /etc/skel/.bashrc if NOT root user
|
|
if [ -r /etc/skel/.bashrc ] && [ $UID != 0 ]; then
|
|
. /etc/skel/.bashrc
|
|
fi
|
|
fi
|
|
|
|
## Aliases ##
|
|
|
|
alias sudo='sudo '
|
|
alias l='ls -blhF --color=auto'
|
|
alias la='ls -balhF --color=auto'
|
|
alias grep='grep -P --color=auto'
|
|
alias ..='cd ..'
|
|
alias p='cat'
|
|
alias n='cat -n'
|
|
alias digg='dig +nocl +short +noshort'
|
|
alias emacs='emacs -nw'
|
|
alias gpg='gpg -a'
|
|
alias open='xdg-open'
|
|
alias cdm='cd $HOME/misc'
|
|
alias h='echo $HOME'
|
|
alias ip='ip -c'
|
|
if command -v netcat > /dev/null 2>&1; then
|
|
alias nc='netcat -v -z'
|
|
elif command -v nc > /dev/null 2>&1; then
|
|
alias nc='nc -v -z'
|
|
fi
|
|
if command -v gcal > /dev/null 2>&1; then
|
|
alias cal='gcal'
|
|
fi
|
|
if command -v vim > /dev/null 2>&1; then
|
|
alias vi='vim'
|
|
fi
|
|
|
|
## Exports ##
|
|
|
|
# For Perl/CPAN
|
|
if [ -d $HOME/perl5 ]; then
|
|
export PATH="/home/daniel/perl5/bin${PATH:+:${PATH}}"
|
|
export PERL5LIB="/home/daniel/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"
|
|
export PERL_LOCAL_LIB_ROOT="/home/daniel/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"
|
|
export PERL_MB_OPT="--install_base \"/home/daniel/perl5\""
|
|
export PERL_MM_OPT="INSTALL_BASE=/home/daniel/perl5"
|
|
|
|
# For perlbrew
|
|
if [ -r $HOME/perl5/perlbrew/etc/bashrc ]; then
|
|
. $HOME/perl5/perlbrew/etc/bashrc
|
|
fi
|
|
fi
|
|
|
|
# For Raku/zef
|
|
if [ -d $HOME/.raku/bin ]; then
|
|
export PATH="$HOME/.raku/bin:$PATH"
|
|
fi
|
|
|
|
if command -v rakubrew > /dev/null 2>&1; then
|
|
eval "$(rakubrew init Bash)"
|
|
fi
|
|
|
|
# For Ruby/rbenv
|
|
# If not installed globally, see if it's installed locally
|
|
if ! command -v rbenv > /dev/null 2>&1; then
|
|
if [ -d $HOME/.rbenv/bin ]; then
|
|
export PATH="$HOME/.rbenv/bin:$PATH"
|
|
fi
|
|
|
|
if [ -d $HOME/.rbenv/plugins/ruby-build/bin ]; then
|
|
export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"
|
|
fi
|
|
fi
|
|
# If we have rbenv now, set up the environment
|
|
if command -v rbenv > /dev/null 2>&1; then
|
|
eval "$(rbenv init -)"
|
|
fi
|
|
|
|
# Mine
|
|
if [ -d $HOME/bin ]; then
|
|
export PATH="$HOME/bin:$PATH"
|
|
fi
|
|
|
|
# Editor
|
|
if command -v emacs > /dev/null 2>&1; then
|
|
export EDITOR='emacs -nw'
|
|
fi
|
|
|
|
## Misc ##
|
|
|
|
# Prevent line wrapping mess
|
|
shopt -s checkwinsize
|
|
|
|
# Print fortune (unless the profile script exists, first test checks
|
|
# to see if STDIN is a terminal to fix scp/rsync)
|
|
if [ -t 0 ] && \
|
|
command -v fortune > /dev/null 2>&1 && \
|
|
! [ -r /etc/profile.d/fortune.sh ]; then
|
|
echo -e "\n`fortune`\n"
|
|
fi
|
|
|
|
# Bash completion for IBM Cloud
|
|
if command -v ibmcloud > /dev/null 2>&1 && \
|
|
[ -r /usr/local/ibmcloud/autocomplete/bash_autocomplete ]; then
|
|
. /usr/local/ibmcloud/autocomplete/bash_autocomplete
|
|
fi
|