27 lines
779 B
Bash
27 lines
779 B
Bash
|
|
#!/bin/bash
|
||
|
|
# dnc-exec - Kitty shell wrapper for dnc containerized mode
|
||
|
|
|
||
|
|
if [ -z "$DNC_CONTAINER" ]; then
|
||
|
|
echo "Error: DNC_CONTAINER environment variable not set" >&2
|
||
|
|
echo "This script should be run via dnc-kitty-launcher" >&2
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
workdir="$PWD"
|
||
|
|
|
||
|
|
SSH_ARGS=""
|
||
|
|
[ -n "$SSH_AUTH_SOCK" ] && SSH_ARGS="-e SSH_AUTH_SOCK=$SSH_AUTH_SOCK"
|
||
|
|
|
||
|
|
if [ $# -eq 0 ]; then
|
||
|
|
exec docker exec -it $SSH_ARGS -w "$workdir" "$DNC_CONTAINER" /usr/bin/dnc-entry
|
||
|
|
else
|
||
|
|
for arg in "$@"; do
|
||
|
|
case "$arg" in
|
||
|
|
*'|'*|*'&'*|*';'*|*'<'*|*'>'*|*'$'*|*'`'*|*'"'*|*"'"*)
|
||
|
|
exec docker exec -it $SSH_ARGS -w "$workdir" "$DNC_CONTAINER" sh -c "$*"
|
||
|
|
;;
|
||
|
|
esac
|
||
|
|
done
|
||
|
|
exec docker exec -it $SSH_ARGS -w "$workdir" "$DNC_CONTAINER" "$@"
|
||
|
|
fi
|