please
This commit is contained in:
parent
cfeb491af9
commit
7b24482dcd
1 changed files with 42 additions and 0 deletions
42
bin/qemush
Executable file
42
bin/qemush
Executable file
|
@ -0,0 +1,42 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Invoked on termination if the last command failed
|
||||||
|
error() { >&2 echo "$(basename "$0"): ${*}"; }
|
||||||
|
error_envvar() { error "missing environment variable QEMUSH_NAME"; }
|
||||||
|
error_arg() { error "invalid argument \"${*}\""; }
|
||||||
|
|
||||||
|
# Assert that the QEMUSH_NAME variable is not null
|
||||||
|
trap error_envvar EXIT
|
||||||
|
[ -n "$QEMUSH_NAME" ]
|
||||||
|
|
||||||
|
# Determine the base dir to use
|
||||||
|
trap 'error_arg "$*"' EXIT
|
||||||
|
case "$1" in
|
||||||
|
disk)
|
||||||
|
basedir=disks
|
||||||
|
extension=qcow2
|
||||||
|
;;
|
||||||
|
socket)
|
||||||
|
basedir=sockets/monitors
|
||||||
|
;;
|
||||||
|
spice)
|
||||||
|
basedir=sockets/spice
|
||||||
|
;;
|
||||||
|
shared)
|
||||||
|
basedir=shared
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
false
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Release the trap
|
||||||
|
trap - EXIT
|
||||||
|
|
||||||
|
# Print the actual string
|
||||||
|
basedir="${HOME}/${basedir}"
|
||||||
|
name="$QEMUSH_NAME"
|
||||||
|
[ -n "$2" ] && name="${name}-${2}"
|
||||||
|
[ -n "$extension" ] && extension=".${extension}"
|
||||||
|
printf %s/%s%s\\n "$basedir" "$name" "$extension"
|
Loading…
Reference in a new issue