- 2019-07-02 18:55:52
我用bash也有很多年了, 以前的时候里面的设置波动很大, 但现在慢慢收敛了, 基本不再有大的波动. 所以我就重新整理了一下, 使其更有条理, 修改/添加更方便. 做量化计算或分子模拟的, 可以作为参考.
下面就是我的设置
mine.bashrc | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | ########################################################################
# 作业系统脚本/程序
########################################################################
jobMode=pbs
[[ `hostname` =~ ^[pin|c[0-9]]* ]] && { jobMode=slurm; }
[[ `hostname` =~ ^node[0-9]]* ]] && { jobMode=node; }
[[ $jobMode =~ node ]] && { source \!\!_node.bashrc; }
[[ $jobMode =~ pbs ]] && { source \!\!_pbs.bashrc; }
[[ $jobMode =~ slurm ]] && { source \!\!_slurm.bashrc; }
if [[ ! $jobMode =~ node ]]; then
########################################################################
# 加载模块
########################################################################
. /etc/profile.d/env-modules.sh # 无此文件则注释掉
module load intel/18.0.2 mkl/18.0.2 impi/18.0.2 cmake/3.5.2
module list
# 使用MPI版本 goto/mkl blas设置为1, 使用混合 mpi/openmp则设其他值
export OMP_NUM_THREADS=1 MKL_NUM_THREADS=1 GOTO_NUM_THREADS=1
fi
########################################################################
# 常规设置
########################################################################
umask 0027
history -c; HISTSIZE=50
ulimit -Sv unlimited -nu 65535 -c 0 2>/dev/null
export HISTCONTROL=ignoredups \
HISTCONTROL=erasedups \
HISTIGNORE="ls:pjob*:pque*:cls:cd*:exit" \
LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;31:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.i386.rpm=01;31:*.src.rpm=01;30:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.png=01;35:'
########################################################################
# 彩色提示符: 当前路径 运行任务/总任务 日期时间 用户名@节点
########################################################################
Coff="\[\e[0m\]";
Cblk="\[\e[30m\]"; Cred="\[\e[31m\]"; Cgrn="\[\e[32m\]"
Cylw="\[\e[33m\]"; Cblu="\[\e[34m\]"; Cpup="\[\e[35m\]"
Ccyn="\[\e[36m\]"; Cwht="\[\e[37m\]"; Bblk="\[\e[40m\]"
export PS1="$Bblk $Cwht \w $Cred\$($runJob)/\$($allJob) $Cgrn\$(date "+%Y-%m-%d") \t$Cylw <\u@\h>\n$Cred\$ $Coff";
########################################################################
# 常用命令别名, 设置
########################################################################
alias ~='cd ~;clear' \
-='cd -;clear' \
..='cd ..;clear' \
rm='rm -i' \
cp='cp -i' \
mv='mv -i' \
ll='ls -l' \
la='ls -aF' \
cls='clear; ls' \
grep='grep --color=auto' \
ls='ls --color=auto -NF --show-control-chars'
########################################################################
# 设置PATH(命令搜索位置), LD_LIBRARY_PATH(库文件搜索位置)
########################################################################
export PATH=$PATH:\
/share/apps/bin:\
~/bin:\
~/GMX4.6.7/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:\
/usr/lib:\
/usr/lib64
########################################################################
# 专业程序, export用于在脚本中使用, alias用于在命令行中使用
########################################################################
# VMD
export DISPLAY=localhost:0.0 \
LIBGL_ALWAYS_INDIRECT=yes \
vmd=~/VMD1.9.1/VMD1.9.1
alias vmd=$vmd
# GROMACS
export GMXLIB=~/GMX4.6.7/share/gromacs/top:/storage/$USER/scratch/!GMXLIB \
gmx='bash /home/jicun/!GMX' \
gmx18=~/GMX4.6.7/2018/bin/gmx_mpi_d
alias gmx=$gmx \
gmx18=$gmx18 \
# Gaussian
export GAUROOT=~/g16 # 使用版本路径
export g16=$GAUROOT/g16 \
GAUSS_EXEDIR=$GAUROOT \
GAUSS_SCRDIR=~/_tmp \
PATH=$PATH:$GAUROOT \
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GAUROOT
alias g16=$g16
# MOLPRO
export molpro=~/molpro/bin/molpro
alias molpro=$molpro
# GAMESS
export gms=~/gamess/_bin/rungms
alias gms=$gms
# MOPAC, PQS
export MOPAC_LICENSE=~/bin/mopac \
PQS_ROOT=~/PQS \
PQS_BASDIR=~/PQS/BASDIR \
PQS_SCRDIR=/storage/$USER/scratch/_tmp
########################################################################
# 用户脚本/程序
########################################################################
export pardo=~/bin/parallel \
capmol='bash /home/jicun/capmol' \
setqm='bash /home/jicun/setQMMM' \
gro2qm='bash /home/jicun/gro2QM'
alias pardo=$pardo \
capmol=$capmol \
setqm=$setqm \
gro2qm=$gro2qm \
sapt='~/!SAPT' \
mrun="matlab -r" \
trun='~/!Trun' \
getref='bash /home/jicun/getRef' \
sx='bash /home/jicun/sx.bsh' \
scr="cd /storage/$USER/scratch;clear" \
lscr="cd /local_scratch/$USER;clear" \
icc='~/!IFC c' \
ifc='~/!IFC f' \
vsp_ikp='~/!VSP ikp' \
vsp_run='~/!VSP run' \
vsp_d3='~/!VSP d3' |
命令行使用了彩色提示符, 显示了
当前路径 运行任务数/总任务数 日期时间 <用户名@节点>
效果如下