ollie/data/tools/client_9p

35 lines
734 B
Bash
Executable File

#!/bin/bash
# client_9p - 9P client tool wrapping ollie-9p
set -euo pipefail
# Read JSON args from stdin
args=$(cat)
op=$(echo "$args" | jq -r '.op // empty')
path=$(echo "$args" | jq -r '.path // empty')
data=$(echo "$args" | jq -r '.data // empty')
if [[ -z "$op" ]]; then
echo "error: missing 'op' (read, write, rdwr)" >&2
exit 1
fi
if [[ -z "$path" ]]; then
echo "error: missing 'path'" >&2
exit 1
fi
case "$op" in
read)
ollie-9p read "$path"
;;
write)
echo -n "$data" | ollie-9p write "$path"
;;
rdwr)
echo -n "$data" | ollie-9p rdwr "$path"
;;
*)
echo "error: unknown op '$op' (use read, write, rdwr)" >&2
exit 1
;;
esac