awesome-client: handle multiple args (#2551)

`awesome-client 'return 1' 'return 2'` would only run the first command.

This also fixes other issues reported by shellcheck, and uses `read`
directly to allow `shellcheck` to parse that construct correctly.
This commit is contained in:
Daniel Hahler 2019-01-10 19:10:11 +01:00 committed by GitHub
parent ac34a687c0
commit f75dacb504
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -17,12 +17,12 @@ then
then
if [ "$A_RERUN" = "" ]
then
A_RERUN="no" exec $AWESOME_RLWRAP $0 "$@"
A_RERUN="no" exec "$AWESOME_RLWRAP" "$0" "$@"
fi
READ_CMD="read"
READ_ARGS=""
else
# No rlwrap: use bash's readline.
READ_CMD="read -e"
READ_ARGS="-e"
fi
fi
@ -76,13 +76,13 @@ then
fi
done
# run arguments
for arg in "$ARGS" ; do
for arg in "${ARGS[@]}"; do
a_dbus_send "$arg"
done
elif [ -t 0 ]
then
FATAL_ERRORS=0
while $READ_CMD -p "awesome# " -r line
while read $READ_ARGS -p "awesome# " -r line
do
if [ "$line" = "" ]; then
continue