Skip to content

Instantly share code, notes, and snippets.

@hanggrian
Last active October 20, 2023 23:06
Show Gist options
  • Save hanggrian/ac915a53abe03dd55744d33399b17758 to your computer and use it in GitHub Desktop.
Save hanggrian/ac915a53abe03dd55744d33399b17758 to your computer and use it in GitHub Desktop.
Personal zshrc
readonly END=
readonly BOLD=
runall() {
if [[ "$1" == "--help" ]]; then
echo "Usage: runall <command>"
return 0
fi
osascript -e "tell application \"Terminal\"
repeat with w in windows
repeat with t in tabs of w
do script \"${1//\"/\\\"}\" in t
end repeat
end repeat
end tell"
}
git_revert() {
git reset --hard HEAD~1
git push origin HEAD --force
}
java_kill() {
killall -9 "java"
}
java_list() {
i=1
for jvm in "/Library/Java/JavaVirtualMachines"/*; do
echo
echo "$BOLD$i. $(basename -- "$jvm")$END"
"$jvm/Contents/Home/bin/java" -version
i=$(($i+1))
done
if [[ $i != 1 ]]; then
echo
fi
}
java_set() {
if [[ "$1" == "--help" ]]; then
echo "Usage: java_set <substring>"
return 0
fi
for jvm in "/Library/Java/JavaVirtualMachines"/*; do
if [[ "$jvm" == *"$1"* ]]; then
echo "$(basename -- "$jvm")"
# kill first
if pgrep -x "java" > /dev/null; then
java_kill
fi
# set local and global variable
export JAVA_HOME="$jvm/Contents/Home"
# set global variable
cat ~/.zshenv | while read line; do
if [[ "$line" == *"export JAVA_HOME="* ]]; then
sed -i "" "s|$line|export JAVA_HOME=$jvm/Contents/Home|" ~/.zshenv
fi
done
return 0
fi
done
return 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment