#!/usr/bin/env zsh # YES_ZSH screeny() { ### @- ### handle GNU screens. ### these days, i typically use tmux instead. local user="${1:?needs arg for user name}" shift home="/home/$user" pushd "$home" >/dev/null local name="${1:?needs arg for screen name}" shift ~/sh/unscreen "$name" || return 1 echo screen -S "$name" -dm sudo -Hu "$user" "$@" screen -S "$name" -dm sudo -Hu "$user" "$@" popd "$home" >/dev/null return 0 } [ "${SOURCING:-0}" -gt 0 ] || screeny "$@"