dotfiles/.rc.func.sh
2025-04-17 17:05:05 +08:00

162 lines
3.5 KiB
Bash

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 ychome() {
yadm config local.class home
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)
}
function installyarn() {
npm install --global yarn
}
function sl() {
ssh -CqTnN -L $1:$2 $3
}
function addkeys() {
keychain -q ~/.ssh/dma-key > /dev/null 2>&1
keychain -q ~/.ssh/dma-owlery > /dev/null 2>&1
keychain -q ~/.ssh/wrdsupport2019 > /dev/null 2>&1
source ~/.keychain/`hostname`-sh
}