mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-02-27 03:05:39 +01:00
Both functions check to see if the directories that will be inserted into your PATH are currently on the system. This is good for having one zshrc file and deploying it to myltiple enviroments.
99 lines
2.1 KiB
Bash
99 lines
2.1 KiB
Bash
function zsh_stats() {
|
|
fc -l 1 | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n20
|
|
}
|
|
|
|
function uninstall_oh_my_zsh() {
|
|
env ZSH=$ZSH /bin/sh $ZSH/tools/uninstall.sh
|
|
}
|
|
|
|
function upgrade_oh_my_zsh() {
|
|
env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh
|
|
}
|
|
|
|
function take() {
|
|
mkdir -p $1
|
|
cd $1
|
|
}
|
|
|
|
#
|
|
# Get the value of an alias.
|
|
#
|
|
# Arguments:
|
|
# 1. alias - The alias to get its value from
|
|
# STDOUT:
|
|
# The value of alias $1 (if it has one).
|
|
# Return value:
|
|
# 0 if the alias was found,
|
|
# 1 if it does not exist
|
|
#
|
|
function alias_value() {
|
|
alias "$1" | sed "s/^$1='\(.*\)'$/\1/"
|
|
test $(alias "$1")
|
|
}
|
|
|
|
#
|
|
# Try to get the value of an alias,
|
|
# otherwise return the input.
|
|
#
|
|
# Arguments:
|
|
# 1. alias - The alias to get its value from
|
|
# STDOUT:
|
|
# The value of alias $1, or $1 if there is no alias $1.
|
|
# Return value:
|
|
# Always 0
|
|
#
|
|
function try_alias_value() {
|
|
alias_value "$1" || echo "$1"
|
|
}
|
|
|
|
#
|
|
# Set variable "$1" to default value "$2" if "$1" is not yet defined.
|
|
#
|
|
# Arguments:
|
|
# 1. name - The variable to set
|
|
# 2. val - The default value
|
|
# Return value:
|
|
# 0 if the variable exists, 3 if it was set
|
|
#
|
|
function default() {
|
|
test `typeset +m "$1"` && return 0
|
|
typeset -g "$1"="$2" && return 3
|
|
}
|
|
|
|
#
|
|
# Set enviroment variable "$1" to default value "$2" if "$1" is not yet defined.
|
|
#
|
|
# Arguments:
|
|
# 1. name - The env variable to set
|
|
# 2. val - The default value
|
|
# Return value:
|
|
# 0 if the env variable exists, 3 if it was set
|
|
#
|
|
function env_default() {
|
|
env | grep -q "^$1=" && return 0
|
|
export "$1=$2" && return 3
|
|
}
|
|
|
|
#
|
|
# Prepends the PATH varible with the input path
|
|
#
|
|
# Arguments:
|
|
# 1. path - The path that will be prepened
|
|
# Return value:
|
|
# 0 if PATH is exported to ENV
|
|
#
|
|
function prepend_path() {
|
|
[[ -d "$1" ]] && export PATH="$1":$PATH && return 0
|
|
}
|
|
|
|
#
|
|
# Prepends the PATH varible with the input path
|
|
#
|
|
# Arguments:
|
|
# 1. path - The path that will be prepened
|
|
# Return value:
|
|
# 0 if PATH is exported to ENV
|
|
#
|
|
function postpend_path() {
|
|
[[ -d "$1" ]] && export PATH=$PATH:"$1" && return 0
|
|
}
|