给自己准备的一份bash配置文档,附带一些初始化命令
# ls
alias ll='ls -lhF'
alias la='ls -A'
alias l='ls -CF'
# mv
alias mv='mv -v'
# history时间用户记录
export HISTSIZE=10000
export HISTFILESIZE=20000
export HISTCONTROL=ignoredups
export HISTIGNORE="ls:pwd:history"
shopt -s histappend
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
# 颜色支持
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# x-cmd
[ ! -f "$HOME/.x-cmd.root/X" ] || . "$HOME/.x-cmd.root/X"
# Go env
if [ -d "/usr/local/go" ]; then
export GOROOT=/usr/local/go
fi
if [ -d "$HOME/go" ]; then
export GOPATH=$HOME/go
fi
if [ -d "/usr/local/go" ] || [ -d "$HOME/go" ]; then
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
fi
# zoxide 初始化
if command -v zoxide &> /dev/null; then
eval "$(zoxide init bash)" 2>/dev/null;
fi
# fzf 脚本初始化
if command -v fzf &> /dev/null; then
[ -f "$HOME/.fzf.bash" ] && source "$HOME/.fzf.bash" 2>/dev/null || {
init_output=$(fzf --bash 2>/dev/null) &&
eval "$init_output" 2>/dev/null &&
echo "$init_output" > "$HOME/.fzf.bash" 2>/dev/null
}
fi
# helix、neovim替换vim
if command -v hx &> /dev/null; then
alias vim=hx
elif command -v nvim &> /dev/null; then
alias vim=nvim
else
alias vim=vim
fi
# homebrew 基础配置
# 优先检测用户级安装(通常是 ~/.linuxbrew 或 ~/homebrew)
if [ -x "$HOME/.linuxbrew/bin/brew" ]; then
eval "$("$HOME/.linuxbrew/bin/brew" shellenv 2>/dev/null)" 2>/dev/null
elif [ -x "$HOME/homebrew/bin/brew" ]; then
eval "$("$HOME/homebrew/bin/brew" shellenv 2>/dev/null)" 2>/dev/null
# 然后检测系统级安装(通常是 /home/linuxbrew/.linuxbrew 或 /usr/local)
elif [ -x "/home/linuxbrew/.linuxbrew/bin/brew" ]; then
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv 2>/dev/null)" 2>/dev/null
fi
浙公网安备 33010602011771号