+++ /dev/null
-##############################################################################
-#
-# Requirement:
-# - functions: getexp_url shell_help_noarg
-#
-#
-# See: http://www.infoworld.com/article/2614879/mac-os-x/top-20-os-x-command-line-secrets-for-power-users.html
-#
-##############################################################################
-##############################################################################
-#
-# Darwin only !
-case "$OSTYPE" in darwin*)
-#
-##############################################################################
-alias strace='dtruss'
-alias updatedb='sudo sh -c "cd / && exec /usr/libexec/locate.updatedb"'
-
-# NB 28.02.19 type -p seq > /dev/null || seq() {
-# NB 28.02.19 if [ -n "$2" ]; then
-# NB 28.02.19 jot - "$1" "$2"
-# NB 28.02.19 else
-# NB 28.02.19 jot "$1"
-# NB 28.02.19 fi
-# NB 28.02.19 }
-
-alias mac_iptables_reload="pfctl -d; pfctl -f /etc/pf.conf -e"
-alias mac_top_proc="echo 'TOP PROCESSES:'; ps -Aro'%cpu, ucomm, user' | grep root | grep -v ' 0.0 '"
-alias mac_sleep='pmset sleepnow'
-alias mac_mount_nfs='sudo mount -o resvport -t nfs'
-alias mac_automount='sudo automount -v'
-alias mac_dns_flush='sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder'
-alias mac_sleep='pmset sleepnow'
-#alias mac-wakeup-screen="pmset schedule wake '\$(date +\"%d/%m/%Y %T\")'"
-#alias mac-wakeup-screen2='osascript -e \'tell application "System Events" to key code 123\''
-alias macps_top="echo 'TOP PROCESSES:'; ps -Aro'%cpu, ucomm, user' | grep $USER | grep -v ' 0.0 '"
-alias mac_mount_nfs="sudo mount -o resvport -t nfs"
-
-mac_dev_shm() {
- set -e
- local usage="Usage: $FUNCNAME [SIZE in MB] [MOUNT DIR (default /dev/shm)]"
- shell_help_noarg "$usage" "$@" && return 1
- local mb=$1
- !test "$mb" -gt 0 2>/dev/null && shell_help_noarg "$usage" && return 1
- local mount_point=${2:-/dev/shm}
- local ramdisk_dev=$(sudo hdiutil attach -nomount ram://$((2 * 1024 *$mb)))
- sudo diskutil eraseVolume HFS+ RAMDisk "${ramdisk_dev}"
-
- sudo install -d "${mount_point}" -m 7777
- sudo mount -o noatime -t hfs "${ramdisk_dev}" "${mount_point}"
-
- echo "remove with:"
- echo "umount ${mount_point}"
- echo "diskutil eject ${ramdisk_dev}"
-}
-
-mac_user_top_proc() {
- echo "TOP PROCESSES:"
- ps -Aro'%cpu, ucomm, user' | grep `whoami` | grep -v ' 0.0 '
-}
-
-md5sum() {
- if which md5sum; then
- eval "$(which md5sum) $@"
- return
- fi
- md5 "$@" | sed "s/^MD5 (\(.*\)) = \(.*\)$/\2 \1/"
-}
-
-mac_xmessage() {
- osascript -e "tell app \"System Events\" to display dialog \"$@\""
-}
-
-mac_pkg_list_todel() {
- pkgutil --only-files --files "$1" && \
- for d in $(pkgutil --only-dirs --files "$1"); do [ -d "/$d" ] && [[ -z $(ls -A "/$d") ]] || echo $d; done
- echo pkgutil --forget "$1"
-}
-
-mac_install() {
-
- local prg="$1"; shift
-
- # Aliases
- case "$prg" in
-
- docker-compose)
- sudo curl -L "https://github.com/docker/compose/releases/download/1.8.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose.install
- sudo chmod +x /usr/local/bin/docker-compose.install
- sudo mv /usr/local/bin/docker-compose.install /usr/local/bin/docker-compose
- return
- ;;
-
- docker)
- [ "$(sysctl -n kern.hv_support 2>/dev/null)" = "0" ] \
- && echo "Docker not compatible. \`See sysctl -n kern.hv_support\`" \
- && return; prg="https://download.docker.com/mac/stable/Docker.dmg"
- ;;
-
- xcode)
- #echo "$prg"; return
- local os=$(mac_version)
- local vers="8.2_beta_2"
- open "http://adcdownload.apple.com/Developer_Tools/Command_Line_Tools_macOS_${os}_for_Xcode_${vers}/Command_Line_Tools_macOS_${os}_for_Xcode_${vers}.dmg"
- return
- ;;
-
- virtualbox)
- prg=$(getexp_url 'https?://download.virtualbox.org/virtualbox/[^"\s]+dmg' https://www.virtualbox.org/wiki/Downloads)
- ;;
-
- macport)
- #prg="https://github.com"$(getexp_url '[^"]+'$(mac_version_name)'.*?pkg' "https://github.com/macports/macports-base/releases")
- prg=$(getexp_url 'https?://.*'$(mac_version_name)'[^"\s]+pkg' https://www.macports.org/install.php)
- echo 'Please visit https://www.macports.org/install.php'
- return
- #echo ">$prg"; return;
- ;;
-
- esac
-
- #echo ">$prg"; return
- # Install
- case "$prg" in
- ""|-h|--help)
- echo "Usage: $FUNCNAME [ALIASES|*.dmg|*.pkg]"
- echo "ALIASES:"
- type mac_install|perl -ne '/^\s*([\w-_]+)\)/&&print " - $1\n"'
- #type mac_install|perl -ne '/^\s*([\w-_]+)\)/&&push(@a,$1);END{print join("|",@a)}'
- return
- ;;
- *.pkg)
- sudo installer -verbose -pkg "$prg" -target /
- ;;
- *)
- local MOUNTDIR=$(echo `sudo hdiutil mount "$prg" | tail -1 | awk '{$1=$2=""; print $0}'` | xargs -0 echo)
-
- if [ -n "$MOUNTDIR" ]; then
-
- if [[ -n $(find "${MOUNTDIR}" -mindepth 0 -maxdepth 1 -name '*.pkg') ]]; then
- sudo installer -verbose -pkg "${MOUNTDIR}/"*.pkg -target /
- elif [[ -n $(find "${MOUNTDIR}" -mindepth 0 -maxdepth 1 -name '*.app') ]]; then
- sudo cp -rv "${MOUNTDIR}/"*.app /Applications/
- else
- read -p "Can not find *.pkg. Press a key to unmount ${MOUNTDIR}"
- fi
-
- sudo hdiutil detach "${MOUNTDIR}"
- fi
- ;;
- esac
-
-}
-
-mac_version() {
- sw_vers -productVersion | cut -d '.' -f 1,2
-}
-
-mac_version_name() {
- case $(mac_version) in
- 10.5) echo Leopard;;
- 10.6) echo SnowLeopard;;
- 10.7) echo Lion ;;
- 10.8) echo MountainLion ;;
- 10.9) echo Mavericks ;;
- 10.10) echo Yosemite ;;
- 10.11) echo ElCapitan ;;
- 10.12) echo Sierra ;;
- esac
-}
-
-mac_pkg_list_files() {
- #sudo pkgutil --only-dirs --files com.puppetlabs.puppet-agent|grep /puppet
- sudo pkgutil --only-files --files $@
-}
-
-mac_keychain_add() {
- local in="cat";
- [ -n "$*" ] && in="echo $*";
- eval $in | sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain
-}
-
-mac_routes() {
- netstat -nr $@ | perl -pe'/^Internet6/&&last'
-}
-
-mac_port_reinstall() {
- port -qv installed > /tmp/myports.txt
- port echo requested | cut -d ' ' -f 1 > /tmp/requested.txt
- port -f uninstall installed
- port selfupdate
- port clean all
- curl -s https://svn.macports.org/repository/macports/contrib/restore_ports/restore_ports.tcl | sh /tmp/myports.txt
- rm /tmp/myports.txt
-}
-
-getent() {
- if which getent; then
- eval "$(which getent) $@"
- return
- fi
- if [ "$1" = "group" -a -n "$2" ]; then
- grep "^$2:" /etc/group
- return
- fi
- [ "$1" = "group" ] && cat /etc/group && return
- [ "$1" != "passwd" ] && echo "Support only passwd and group untill now" 1>&2 && return 1
- [ -z "$2" ] && (ls_users; return)
- ls_users | grep "^$2:"
-}
-
-;;esac # Darwin only ! <<<