diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-02-03 00:08:08 +0100 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-02-03 00:08:08 +0100 |
commit | 6d2880e2bd95c87f49ca6110be9e0fdbca8078b3 (patch) | |
tree | 0a46a9461e7d213e82050c2694b413c652997911 /modules | |
parent | fix(modules/lf/commands/trash_{clear,restore}): Don't start trash's interacti... (diff) | |
download | nixos-config-6d2880e2bd95c87f49ca6110be9e0fdbca8078b3.zip |
fix(modules/lf/commands/archive_decompress): Pipe the filenames not the file
Previously, we piped `$fx` directly into the shell, resulting in it opening the archive and interpreting it as the file name.
Diffstat (limited to '')
-rwxr-xr-x | modules/by-name/lf/lf/commands/scripts/archive_decompress.sh | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/modules/by-name/lf/lf/commands/scripts/archive_decompress.sh b/modules/by-name/lf/lf/commands/scripts/archive_decompress.sh index 0e99b98e..142ac4d2 100755 --- a/modules/by-name/lf/lf/commands/scripts/archive_decompress.sh +++ b/modules/by-name/lf/lf/commands/scripts/archive_decompress.sh @@ -11,19 +11,15 @@ id="$id" set -f -unarchive() { - case "$1" in - *.tar.bz | *.tar.bz2 | *.tbz | *.tbz2) tar --extract --bzip2 --verbose --file="$1" ;; - *.tar.gz | *.tgz) tar --extract --gzip --verbose --file="$1" ;; - *.tar.xz | *.txz) tar --extract --xz --verbose --file="$1" ;; - *.tar*) tar --extract --verbose --file="$1" ;; - *.zip) unzip "$1" ;; - *.7z) 7z x "$1" ;; - *) die "'$1' is not a supported file for unarchiving." ;; +echo "$fx" | while read -r file; do + case "$file" in + *.tar.bz | *.tar.bz2 | *.tbz | *.tbz2) tar --extract --bzip2 --verbose --file="$file" ;; + *.tar.gz | *.tgz) tar --extract --gzip --verbose --file="$file" ;; + *.tar.xz | *.txz) tar --extract --xz --verbose --file="$file" ;; + *.tar*) tar --extract --verbose --file="$file" ;; + *.zip) unzip "$file" ;; + *.7z) 7z x "$file" ;; + *) die "'$file' is not a supported file for unarchiving." ;; esac -} - -while read -r file; do - unarchive "$file" -done <"$fx" +done # vim: ft=sh |