mirror of
https://github.com/frebib/dotfiles.git
synced 2024-06-14 12:57:23 +00:00
Improve dsh and drsh argument parsing
This commit is contained in:
parent
115e60681d
commit
70dc02c7a1
20
aliases
20
aliases
@ -158,7 +158,7 @@ alias dalpine='docker run -ti --rm alpine /bin/sh'
|
|||||||
alias drm-stopped='docker container prune'
|
alias drm-stopped='docker container prune'
|
||||||
alias drmi-untag='docker image prune'
|
alias drmi-untag='docker image prune'
|
||||||
alias dsh='_CMD=dsh _dsh exec'
|
alias dsh='_CMD=dsh _dsh exec'
|
||||||
alias drsh='_CMD=drsh _dsh "run --rm"'
|
alias drsh='_CMD=drsh _dsh run --rm'
|
||||||
_dsh() {
|
_dsh() {
|
||||||
if [ $# -lt 2 ]; then
|
if [ $# -lt 2 ]; then
|
||||||
echo "Usage: ${_CMD:-$0} [user@]container [program [args]]" >&2
|
echo "Usage: ${_CMD:-$0} [user@]container [program [args]]" >&2
|
||||||
@ -166,13 +166,21 @@ _dsh() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
local dowhat="$1"
|
local dowhat="$1"
|
||||||
local user=$(echo "$2" | cut -d'@' -f1 -s)
|
local docker_args=()
|
||||||
local prog="${@:3:$#}"
|
shift
|
||||||
|
|
||||||
|
while [ "${1:0:1}" = '-' ]; do
|
||||||
|
docker_args+=("$1")
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
local user="$(echo "$1" | cut -d'@' -f1 -s)"
|
||||||
|
local prog="${@:2:$#}"
|
||||||
local usercmd=""
|
local usercmd=""
|
||||||
if [ -z "$user" ]; then
|
if [ -z "$user" ]; then
|
||||||
host="$2"
|
host="$1"
|
||||||
else
|
else
|
||||||
host=`echo $2 | cut -d'@' -f2 -s`
|
host=`echo $1 | cut -d'@' -f2 -s`
|
||||||
usercmd="--user=$user "
|
usercmd="--user=$user "
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -196,7 +204,7 @@ _dsh() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
eval "docker $dowhat -ti $usercmd$host $prog"
|
docker $dowhat ${docker_args[@]} -ti $usercmd $host $(xargs <<< $prog)
|
||||||
}
|
}
|
||||||
|
|
||||||
alias dm='docker-machine'
|
alias dm='docker-machine'
|
||||||
|
Loading…
Reference in New Issue
Block a user