mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-01-02 02:19:06 +01:00
Added dot-env plugin
Dot-env is a cross-platform, cascading Zsh environment system for those who work on different hardware and OS environments. See: https://github.com/midwire/.env
This commit is contained in:
parent
f4944d5a95
commit
ae2db75f3e
20 changed files with 629 additions and 0 deletions
2
plugins/dot-env/os/Darwin/alias.sh
Normal file
2
plugins/dot-env/os/Darwin/alias.sh
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
# Process Find Aliases
|
||||
alias pfn='ps -e -o euser,pid,args|grep'
|
||||
22
plugins/dot-env/os/Darwin/editor.sh
Normal file
22
plugins/dot-env/os/Darwin/editor.sh
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# Textmate Editing and Sourcing aliases
|
||||
# export EDITOR="$HOME/bin/mate"
|
||||
|
||||
# Textmate 2 Editor
|
||||
# export EDITOR="$HOME/bin/mate2"
|
||||
|
||||
# Sublime Text 2 Editor
|
||||
export EDITOR="$HOME/bin/subl"
|
||||
|
||||
alias e="$EDITOR ."
|
||||
alias ea="$EDITOR $DOT_ENV_PATH/host/$HOSTNAME/alias.sh"
|
||||
alias eas=". $DOT_ENV_PATH/host/$HOSTNAME/alias.sh"
|
||||
alias eb="$EDITOR $HOME/bin"
|
||||
alias ee="$EDITOR $DOT_ENV_PATH $HOME/.bashrc"
|
||||
alias ees=". $DOT_ENV_PATH/source.sh"
|
||||
alias ef="$EDITOR $DOT_ENV_PATH/host/$HOSTNAME/functions.sh"
|
||||
alias efs=". $DOT_ENV_PATH/host/$HOSTNAME/functions.sh"
|
||||
alias eh="$EDITOR $HOME/.ssh"
|
||||
alias ep="$EDITOR $DOT_ENV_PATH/host/$HOSTNAME/path.sh"
|
||||
alias eps=". $DOT_ENV_PATH/host/$HOSTNAME/path.sh"
|
||||
alias m="$EDITOR"
|
||||
alias vi="$EDITOR"
|
||||
288
plugins/dot-env/os/Darwin/functions.sh
Normal file
288
plugins/dot-env/os/Darwin/functions.sh
Normal file
|
|
@ -0,0 +1,288 @@
|
|||
# cdf: cd's to frontmost window of Finder
|
||||
cdf () {
|
||||
currFolderPath=$( /usr/bin/osascript <<"EOT"
|
||||
tell application "Finder"
|
||||
try
|
||||
set currFolder to (folder of the front window as alias)
|
||||
on error
|
||||
set currFolder to (path to desktop folder as alias)
|
||||
end try
|
||||
POSIX path of currFolder
|
||||
end tell
|
||||
EOT
|
||||
)
|
||||
echo "cd to \"$currFolderPath\""
|
||||
cd "$currFolderPath"
|
||||
}
|
||||
|
||||
# File Finders
|
||||
# ff: to find a file under the current directory
|
||||
ff () { /usr/bin/find . -name "$@" ; }
|
||||
# ffs: to find a file whose name starts with a given string
|
||||
ffs () { /usr/bin/find . -name "$@"'*' ; }
|
||||
# ffe: to find a file whose name ends with a given string
|
||||
ffe () { /usr/bin/find . -name '*'"$@" ; }
|
||||
|
||||
# SPOTLIGHT
|
||||
# locatemd: to search for a file using Spotlight's metadata
|
||||
function locatemd { mdfind "kMDItemDisplayName == '$@'wc"; }
|
||||
# locaterecent: to search for files created since yesterday using Spotlight
|
||||
# This is an illustration of using $time in a query
|
||||
# See: http://developer.apple.com/documentation/Carbon/Conceptual/SpotlightQuery/index.html
|
||||
function locaterecent { mdfind 'kMDItemFSCreationDate >= $time.yesterday'; }
|
||||
|
||||
# list_all_apps: list all applications on the system
|
||||
list_all_apps() { mdfind 'kMDItemContentTypeTree == "com.apple.application"c' ; }
|
||||
|
||||
# find_larger: find files larger than a certain size (in bytes)
|
||||
find_larger() { find . -type f -size +${1}c ; }
|
||||
|
||||
#------------
|
||||
# Processes:
|
||||
#------------
|
||||
alias pstree='/usr/local/bin/pstree -g 2 -w'
|
||||
|
||||
# findPid: find out the pid of a specified process
|
||||
# Note that the command name can be specified via a regex
|
||||
# E.g. findPid '/d$/' finds pids of all processes with names ending in 'd'
|
||||
# Without the 'sudo' it will only find processes of the current user
|
||||
findPid () { sudo /usr/sbin/lsof -t -c "$@" ; }
|
||||
|
||||
# to find memory hogs:
|
||||
alias mem_hogs_top='top -l 1 -o rsize -n 10'
|
||||
alias mem_hogs_ps='ps wwaxm -o pid,stat,vsize,rss,time,command | head -10'
|
||||
|
||||
# to find CPU hogs
|
||||
alias cpu_hogs='ps wwaxr -o pid,stat,%cpu,time,command | head -10'
|
||||
|
||||
# continual 'top' listing (every 10 seconds) showing top 15 CPU consumers
|
||||
alias topforever='top -l 0 -s 10 -o cpu -n 15'
|
||||
|
||||
# recommended 'top' invocation to minimize resources in thie macosxhints article
|
||||
# http://www.macosxhints.com/article.php?story=20060816123853639
|
||||
# exec /usr/bin/top -R -F -s 10 -o rsize
|
||||
|
||||
# diskwho: to show processes reading/writing to disk
|
||||
alias diskwho='sudo iotop'
|
||||
|
||||
#------------
|
||||
# Networking:
|
||||
#------------
|
||||
# lsock: to display open sockets (the -P option to lsof disables port names)
|
||||
alias lsock='sudo /usr/sbin/lsof -i -P'
|
||||
|
||||
# airportMtu: set the MTU on Airport to be a value that makes SMTP to DSL work
|
||||
# (I determined the value empirically by using 'ping -s' to the SMTP server)
|
||||
alias airportMtu='sudo ifconfig en1 mtu 1364'
|
||||
|
||||
# airport: Apple's command-line tool. For status info, use -I, for help use -h
|
||||
# See: http://www.macosxhints.com/article.php?story=20050715001815547
|
||||
alias airport='/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport'
|
||||
# Note also the tool that I compiled: airport_info (in my Tools dir)
|
||||
|
||||
# ip_info: to get info on DHCP server, router, DNS server, etc (for en0 or en1)
|
||||
alias ip_info='ipconfig getpacket en1'
|
||||
|
||||
# browse_bonjour: browse services advertised via Bonjour
|
||||
# Note: need to supply a "type" argument- e.g. "_http._tcp"
|
||||
# See http://www.dns-sd.org/ServiceTypes.html for more types
|
||||
# Optionally supply a "domain" argument
|
||||
alias browse_bonjour='dns-sd -B'
|
||||
|
||||
# hostname_lookup: interactive debugging mode for lookupd (use tab-completion)
|
||||
alias hostname_lookup='lookupd -d'
|
||||
|
||||
# debug_http: download a web page and show info on what took time
|
||||
debug_http () { /usr/bin/curl $@ -o /dev/null -w "dns: %{time_namelookup} connect: %{time_connect} pretransfer: %{time_pretransfer} starttransfer: %{time_starttransfer} total: %{time_total}\n" ; }
|
||||
|
||||
# http_headers: get just the HTTP headers from a web page (and its redirects)
|
||||
http_headers () { /usr/bin/curl -I -L $@ ; }
|
||||
|
||||
# Note: 'active_net_iface' is my script that echos the active net interface
|
||||
# pkt_trace: for use in the following aliases
|
||||
alias pkt_trace='sudo tcpflow -i `active_net_iface` -c'
|
||||
|
||||
# smtp_trace: to show all SMTP packets
|
||||
alias smtp_trace='pkt_trace port smtp'
|
||||
|
||||
# http_trace: to show all HTTP packets
|
||||
alias http_trace='pkt_trace port 80'
|
||||
|
||||
# tcp_trace: to show all TCP packets
|
||||
alias tcp_trace='pkt_trace tcp'
|
||||
|
||||
# udp_trace: to show all UDP packets
|
||||
alias udp_trace='pkt_trace udp'
|
||||
|
||||
# ip_trace: to show all IP packets
|
||||
alias ip_trace='pkt_trace ip'
|
||||
|
||||
# can use 'scselect' to find out current network "location"
|
||||
# can use 'scutil' for other system config stuff
|
||||
|
||||
# to do socket programming in bash, redirect to /dev/tcp/$host/$port
|
||||
# Example:
|
||||
osaClient ()
|
||||
{
|
||||
exec 5<> /dev/tcp/localhost/4321
|
||||
cat $1 >&5
|
||||
echo "-- end of file" >&5
|
||||
cat <&5
|
||||
exec 5>&-
|
||||
}
|
||||
|
||||
|
||||
#------
|
||||
# Misc:
|
||||
#------
|
||||
# epochtime: report number of seconds since the Epoch
|
||||
alias epochtime='date +%s'
|
||||
|
||||
# screensaverdesktop: run a screensaver on the Desktop
|
||||
alias screensaverdesktop='/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background'
|
||||
|
||||
# consoleapp: launch the Console app from Terminal
|
||||
alias consoleapp='/Applications/Utilities/Console.app/Contents/MacOS/Console &'
|
||||
|
||||
#---------------------------
|
||||
# System operations & info:
|
||||
#---------------------------
|
||||
# repairpermissions
|
||||
alias repairpermissions='sudo diskutil repairpermissions /'
|
||||
|
||||
# install all software updates from the command line
|
||||
alias software_update_cmd='COMMAND_LINE_INSTALL=1 export COMMAND_LINE_INSTALL; sudo softwareupdate -i -a'
|
||||
|
||||
# third_party_kexts: to check for non-Apple kernel extensions
|
||||
alias third_party_kexts='kextstat | grep -v com.apple'
|
||||
|
||||
# show_optical_disk_info - e.g. what type of CD & DVD media is supported
|
||||
alias show_optical_disk_info='drutil info'
|
||||
|
||||
# remove_disk: spin down unneeded disk
|
||||
# diskutil eject /dev/disk1s3
|
||||
alias nd0='diskutil eject /dev/disk0s3'
|
||||
alias nd1='diskutil eject /dev/disk1s3'
|
||||
|
||||
# mount_read_write: for use when booted into single-user
|
||||
alias mount_read_write='/sbin/mount -uw /'
|
||||
|
||||
# herr: shows the most recent lines from the HTTP error log
|
||||
alias herr='tail /var/log/httpd/error_log'
|
||||
|
||||
# use vsdbutil to show/change the permissions ignoring on external drives
|
||||
# To ignore ownerships on a volume, do: sudo vsdbutil -d /VolumeName
|
||||
# To restore ownerships on a volume, do: sudo vsdbutil -a /VolumeName
|
||||
# To check the status of ownerships, do: sudo vsdbutil -c /VolumeName
|
||||
alias ignore_permissions='sudo vsdbutil -d'
|
||||
|
||||
# to change the password on anencrypted disk image:
|
||||
# hdiutil chpass /path/to/the/diskimage
|
||||
|
||||
# netparams: to show values of network parameters in the kernel
|
||||
alias netparams='sysctl -a | grep net'
|
||||
|
||||
# swapinfo: to display info on swap
|
||||
alias swapinfo='sysctl vm.swapusage'
|
||||
|
||||
# get info about system via AppleScript
|
||||
# Note: this is rather slow - it is faster to run 'system_profiler'
|
||||
# Note: to get computer name use: computer name of (system info)
|
||||
applescript_info ()
|
||||
{
|
||||
info=$( /usr/bin/osascript <<" EOT"
|
||||
system info
|
||||
EOT
|
||||
)
|
||||
echo $info
|
||||
}
|
||||
|
||||
# to mount a read-only disk image as read-write:
|
||||
# hdiutil attach example.dmg -shadow /tmp/example.shadow -noverify
|
||||
|
||||
# mounting a removable drive (of type msdos or hfs)
|
||||
# mkdir /Volumes/Foo
|
||||
# ls /dev/disk* to find out the device to use in the mount command)
|
||||
# mount -t msdos /dev/disk1s1 /Volumes/Foo
|
||||
# mount -t hfs /dev/disk1s1 /Volumes/Foo
|
||||
|
||||
# to create a file of a given size: /usr/sbin/mkfile or /usr/bin/hdiutil
|
||||
# e.g.: mkfile 10m 10MB.dat
|
||||
# e.g.: hdiutil create -size 10m 10MB.dmg
|
||||
# the above create files that are almost all zeros - if random bytes are desired
|
||||
# then use: ~/Dev/Perl/randBytes 1048576 > 10MB.dat
|
||||
|
||||
# making a hard-link backup of a directory
|
||||
# rsync -a --delete --link-dest=$DIR $DIR /backup/path/for/dir
|
||||
|
||||
# starting AFP file sharing
|
||||
alias startFileSharing='sudo /usr/sbin/AppleFileServer'
|
||||
|
||||
# hidden command line utilities: networksetup & systemsetup
|
||||
alias networksetup='/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Support/networksetup'
|
||||
alias systemsetup='/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Support/systemsetup'
|
||||
alias ardkickstart='/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart'
|
||||
|
||||
|
||||
#--------
|
||||
# Finder:
|
||||
#---------
|
||||
# show hidden files in Finder
|
||||
alias finderShowHidden='defaults write com.apple.finder ShowAllFiles TRUE'
|
||||
alias finderHideHidden='defaults write com.apple.finder ShowAllFiles FALSE'
|
||||
|
||||
# finderTurnOffDesktop: turn off display of files on the Desktop
|
||||
alias finderTurnOffDesktop='defaults write com.apple.finder CreateDesktop FALSE'
|
||||
|
||||
# to stop Finder writing .DS_Store files on network volumes
|
||||
# defaults write com.apple.desktopservices DSDontWriteNetworkStores true
|
||||
|
||||
# lsregister: utility for looking at the Launch Services database
|
||||
# e.g. 'lsregister -dump' to display database contents
|
||||
# use 'lsregister -h' to get usage info
|
||||
alias lsregister='/System/Library/Frameworks/ApplicationServices.framework/Frameworks/LaunchServices.framework/Support/lsregister'
|
||||
|
||||
# disable and re-enable Dashboard Widgets
|
||||
alias disableDashboard='defaults write com.apple.dashboard mcx-disabled -bool YES; killall Dock'
|
||||
alias enableDashboard='defaults delete com.apple.dashboard mcx-disabled; killAll Dock'
|
||||
|
||||
# ql: show a "Quick Look" view of files
|
||||
ql () { /usr/bin/qlmanage -p "$@" >& /dev/null & }
|
||||
|
||||
# locateql: search using Spotlight and show a "Quick Look" of matching files
|
||||
locateql ()
|
||||
{
|
||||
locatemd "$@" | enquote | xargs qlmanage -p >& /dev/null &
|
||||
}
|
||||
|
||||
#--------
|
||||
# Safari:
|
||||
#--------
|
||||
# cleanup_favicons: clean up Safari favicons
|
||||
alias cleanup_favicons='find $HOME/Library/Safari/Icons -type f -atime +30 -name "*.cache" -print -delete'
|
||||
|
||||
|
||||
#-----------------
|
||||
# Misc Reminders:
|
||||
#-----------------
|
||||
|
||||
# To find idle time: look for HIDIdleTime in output of 'ioreg -c IOHIDSystem'
|
||||
|
||||
# to set the delay for drag & drop of text (integer number of milliseconds)
|
||||
# defaults write -g NSDragAndDropTextDelay -int 100
|
||||
|
||||
# URL for a man page (example): x-man-page://3/malloc
|
||||
|
||||
# to read a single key press:
|
||||
alias keypress='read -s -n1 keypress; echo $keypress'
|
||||
|
||||
# to compile an AppleScript file to a resource-fork in the source file:
|
||||
osacompile_rsrc () { osacompile -x -r scpt:128 -o $1 $1; }
|
||||
|
||||
# alternative to the use of 'basename' for usage statements: ${0##*/}
|
||||
|
||||
# graphical operations, image manipulation: sips
|
||||
|
||||
# numerical user id: 'id -u'
|
||||
# e.g.: ls -l /private/var/tmp/mds/$(id -u)
|
||||
|
||||
1
plugins/dot-env/os/Darwin/path.sh
Normal file
1
plugins/dot-env/os/Darwin/path.sh
Normal file
|
|
@ -0,0 +1 @@
|
|||
pathmunge "/Developer/usr/bin"
|
||||
22
plugins/dot-env/os/Linux/alias.sh
Normal file
22
plugins/dot-env/os/Linux/alias.sh
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# Vi Editing and Sourcing aliases
|
||||
alias ea='vi ~/.env/os/Linux/alias.sh'
|
||||
alias eas='. ~/.env/os/Linux/alias.sh'
|
||||
alias ees='. ~/.env/source.sh'
|
||||
alias ef='vi ~/.env/os/Linux/functions.sh'
|
||||
alias efs='. ~/.env/os/Linux/functions.sh'
|
||||
alias ep='vi ~/.env/os/Linux/path.sh'
|
||||
alias eps='. ~/.env/os/Linux/path.sh'
|
||||
alias eh="vi ~/.env/host/$HOSTNAME/*.sh"
|
||||
alias ehs=". ~/.env/host/$HOSTNAME/*.sh"
|
||||
|
||||
# Directory Listing aliases
|
||||
alias dir='ls -hFx'
|
||||
alias l.='ls -d .* --color=auto'
|
||||
alias l='ls -lathF --color=auto'
|
||||
alias L='ls -latrhF'
|
||||
alias ll='ls -lFh'
|
||||
alias lo='ls -laSFh'
|
||||
alias vdir='ls --color=auto --format=long'
|
||||
|
||||
# Process Find Aliases
|
||||
alias pfn='ps -e -o user,pid,args|grep'
|
||||
5
plugins/dot-env/os/Linux/env.sh
Normal file
5
plugins/dot-env/os/Linux/env.sh
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# Misc
|
||||
export EDITOR="vi"
|
||||
export CVSEDITOR="$EDITOR"
|
||||
export SVN_EDITOR="$EDITOR"
|
||||
export VISUAL="$EDITOR"
|
||||
0
plugins/dot-env/os/Linux/functions.sh
Normal file
0
plugins/dot-env/os/Linux/functions.sh
Normal file
4
plugins/dot-env/os/SunOS/alias.sh
Normal file
4
plugins/dot-env/os/SunOS/alias.sh
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# Solaris Environment Aliases
|
||||
|
||||
# Editing and Sourcing aliases
|
||||
alias ees='. ~/.env/source.sh'
|
||||
13
plugins/dot-env/os/SunOS/functions.sh
Normal file
13
plugins/dot-env/os/SunOS/functions.sh
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
function rgrep {
|
||||
if [[ $# -lt 1 ]]; then
|
||||
echo "Usage: rgrep PATTERN [PATH]"
|
||||
return
|
||||
fi
|
||||
pattern="$1"
|
||||
if [[ -z "$2" ]]; then
|
||||
path=`pwd`
|
||||
else
|
||||
path="$2"
|
||||
fi
|
||||
find -L "$path"|xargs grep "$pattern"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue