diff options
author | Cem Keylan <cem@ckyln.com> | 2020-07-25 11:20:55 +0300 |
---|---|---|
committer | Cem Keylan <cem@ckyln.com> | 2020-07-25 11:20:55 +0300 |
commit | 47a3723632b82a0d3caf79dbe8ada1eae60dd976 (patch) | |
tree | 2c41b08502e35378af35fcda7622d3eaab776420 /alt/cpt-exec | |
parent | a80ec35b458ad1616758aff8257d42b3b51ed17e (diff) | |
download | cpt-extra-47a3723632b82a0d3caf79dbe8ada1eae60dd976.tar.gz |
rename to cpt-extra
Diffstat (limited to 'alt/cpt-exec')
-rwxr-xr-x | alt/cpt-exec | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/alt/cpt-exec b/alt/cpt-exec new file mode 100755 index 0000000..d2b3217 --- /dev/null +++ b/alt/cpt-exec @@ -0,0 +1,23 @@ +#!/bin/sh +# Execute a command inside the alternatives system + +usage() { + printf '\033[1;33m-> \033[m%s\n' "usage: ${0##*/} [pkg] [command]" + exit "$1" +} + +case "$1" in ''|--help|-h) usage 0; esac +[ "$2" ] || usage 1 + +pkg=$1 + +[ "${2##/*}" ] && command=">usr>bin>$2" || + command="$(printf '%s' "$2" | sed 's#/#>#g')" + +[ -h "${file:=/var/db/kiss/choices/$pkg$command}" ] && { + printf 'ERROR: %s\n' "$file is a symlink" + exit 1 +} + +shift 2 +exec "/var/db/kiss/choices/$pkg$command" "$@" |