dotfiles

My personal shell configs and stuff
git clone git://git.alex.balgavy.eu/dotfiles.git
Log | Files | Refs | Submodules | README | LICENSE

commit 3f517eb83739940ca4895b0b422b79396b9c8122
parent 867c42f7f3687cc8f0f953db5167159070f752de
Author: Alex Balgavy <a.balgavy@gmail.com>
Date:   Sun, 11 Oct 2020 22:33:06 +0200

shell: fix quoting issues in open(er)

Remember to `printf %q` when you need stuff quoted in a way that can be
reused as shell input.


Former-commit-id: 45fdc492a90b2270148addaaf222babd897c2558
Diffstat:
Mscripts/open | 3++-
Mscripts/opener | 3++-
2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/scripts/open b/scripts/open @@ -1,4 +1,5 @@ #!/bin/sh +set -x PARAMS="" while [ $(($#)) -ne 0 ]; do case "$1" in @@ -20,7 +21,7 @@ while [ $(($#)) -ne 0 ]; do exit 1 ;; *) # preserve positional arguments - PARAMS="$PARAMS $1" + { [ -z "$PARAMS" ] && PARAMS="$(printf '%q' "$1")"; }|| PARAMS="$PARAMS $(printf '%q' "$1")" shift ;; esac diff --git a/scripts/opener b/scripts/opener @@ -1,4 +1,5 @@ #!/bin/sh +set -x [ $# -gt 0 ] || { printf "File required in argument.\n" && exit 1; } case $(file --mime-type "$1" -bL) in text/*|application/json|inode/x-empty) $EDITOR "$1";; @@ -6,5 +7,5 @@ case $(file --mime-type "$1" -bL) in application/epub*) setsid -f ebook-viewer "$1" >/dev/null 2>&1;; video/*) mpvq "$@";; audio/*) mpv --no-audio-display --no-video --volume=50 "$1";; - *) setsid -f open "$1" > /dev/null 2>&1;; + *) setsid -f open "$@" > /dev/null 2>&1;; esac