function project_folder() { if [ -d "$HOME/project" ]; then echo $HOME/project else echo $HOME/Project fi } function yupdate() { cd $HOME now=`date '+%s'` if [ -e .check ]; then before=`cat .check` else before=0 fi res=$((now-before)) if [ $res -gt 3600 ]; then echo "正在检查dotfiles是否更新" echo $now > .check yadm pull fi cd - > /dev/null } function get_proxy() { if [ -e ~/.proxy ]; then cat ~/.proxy else echo 'http://127.0.0.1:7890' fi } function pon() { proxy=`get_proxy` export http_proxy=$proxy export https_proxy=$proxy echo "\033[32m开启代理:$proxy\033[0m" } function poff() { unset http_proxy unset https_proxy echo "\033[31m关闭代理\033[0m" } function pstat() { if [ $http_proxy ];then echo "\033[32m代理开启\033[0m" else echo "\033[31m代理关闭\033[0m" fi } function ycwork() { yadm config local.class company yadm alt } function ycclear() { yadm config --unset local.class yadm alt } function goenv() { if [ "x$1" = "x" ]; then go env -w GO111MODULE=on else go env -w GO111MODULE=$1 fi go env -w GOPROXY=https://goproxy.cn,direct go env -w GOPRIVATE=golang.wrdtech.com } function switchpy() { local pythonlib_dir="$HOME/.local/share/pythonlib" local python_link="$HOME/.local/share/python" if [ ! -d "$pythonlib_dir" ]; then echo "Python库文件夹不存在: $pythonlib_dir" return 1 fi python_versions=($(ls -d "$pythonlib_dir"/*/ | xargs -n 1 basename)) if [ ${#python_versions[@]} -eq 0 ]; then echo "没有找到Python版本" return 1 fi echo "请选择一个Python版本:" select version in "${python_versions[@]}"; do if [ -n "$version" ]; then if [ -e "$python_link" ]; then rm "$python_link" fi ln -s "$pythonlib_dir/$version" "$python_link" echo "Python已切换到版本: $version" break else echo "无效的选择" fi done } function switchgo() { local golib_dir="$HOME/.local/share/golib" local go_link="$HOME/.local/share/godev" if [ ! -d "$golib_dir" ]; then echo "Go库文件夹不存在: $golib_dir" return 1 fi go_versions=($(ls -d "$golib_dir"/*/ | xargs -n 1 basename)) if [ ${#go_versions[@]} -eq 0 ]; then echo "没有找到Go版本" return 1 fi echo "请选择一个Go版本:" select version in "${go_versions[@]}"; do if [ -n "$version" ]; then if [ -e "$go_link" ]; then rm "$go_link" fi ln -s "$golib_dir/$version" "$go_link" echo "Go已切换到版本: $version" break else echo "无效的选择" fi done } function gitarchive() { first=`git log -1 --pretty=oneline | cut -d ' ' -f 1 | tail -n 1` second=`git log -2 --pretty=oneline | cut -d ' ' -f 1 | tail -n 1` git archive -o $1 $first $(git diff --name-only $second $first) }