core-agent-linux/qubes-rpc/qvm-open-in-vm
Marek Marczykowski-Górecki cb25cce9e5
Make shellcheck happy
It is intentional that the outer shell do not expand "$0".
2021-05-24 04:48:32 +02:00

58 lines
1.6 KiB
Bash
Executable File

#!/bin/sh
#
# The Qubes OS Project, http://www.qubes-os.org
#
# Copyright (C) 2010 Rafal Wojtczuk <rafal@invisiblethingslab.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
#
usage() {
echo "Usage: $0 [--view-only] vmname filename"
exit 2
}
qopen_opts=
target=
filename=
while [ $# -gt 0 ]; do
if [ "x$1" = "x--view-only" ]; then
qopen_opts=--view-only
elif [ -z "$target" ]; then
target="$1"
elif [ -z "$filename" ]; then
filename="$1"
else
usage
fi
shift
done
if [ -z "$target" ] || [ -z "$filename" ]; then
usage
fi
case "$filename" in
*://*)
# shellcheck disable=SC2016
exec /usr/lib/qubes/qrexec-client-vm "$target" qubes.OpenURL /bin/sh -c 'printf "%s\n" "$0"; cat >/dev/null' "$filename"
;;
*)
exec /usr/lib/qubes/qrexec-client-vm "$target" qubes.OpenInVM "/usr/lib/qubes/qopen-in-vm" $qopen_opts "$filename"
;;
esac