aboutsummaryrefslogtreecommitdiffstats
path: root/hm/soispha/conf/lf/commands/scripts/archive.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xhm/soispha/conf/lf/commands/scripts/archive.sh64
1 files changed, 35 insertions, 29 deletions
diff --git a/hm/soispha/conf/lf/commands/scripts/archive.sh b/hm/soispha/conf/lf/commands/scripts/archive.sh
index 5f4e3792..9ac07898 100755
--- a/hm/soispha/conf/lf/commands/scripts/archive.sh
+++ b/hm/soispha/conf/lf/commands/scripts/archive.sh
@@ -9,46 +9,52 @@ SHELL_LIBRARY_VERSION="2.0.13" . %SHELL_LIBRARY_PATH
# times.
set -f
-archivers="$(tmp echo gzip xz 7z zip)";
+# shellcheck disable=SC2269
+f="$f"
+# shellcheck disable=SC2269
+fx="$fx"
+# shellcheck disable=SC2269
+fs="$fs"
+
+archivers="$(tmp echo gzip xz 7z zip)"
prompt "Archive name: "
name=""
-while [ -z "$name" ] || [ -e "$name" ]
-do
- read -r name
- if [ -e "$name" ]; then
- prompt "Archive already exists, overwrite [y|N]: "
- read -r ans
+while [ -z "$name" ] || [ -e "$name" ]; do
+ read -r name
+ if [ -e "$name" ]; then
+ prompt "Archive already exists, overwrite [y|N]: "
+ read -r ans
- if [ "$ans" = "y" ]; then
- break
- else
- prompt "Archive name: "
+ if [ "$ans" = "y" ]; then
+ break
+ else
+ prompt "Archive name: "
+ fi
fi
- fi
done
-root="$(if [ "$(pwd)" = "/" ]; then pwd; else echo "$(pwd)/";fi)";
+root="$(if [ "$(pwd)" = "/" ]; then pwd; else echo "$(pwd)/"; fi)"
# fx contains all selected file name separated by a newline
while read -r raw_file; do
- file="$(echo "$raw_file" | sed "s|$root||")";
- set -- "$@" "$file";
-done < "$(tmp echo "$fx")";
+ file="$(echo "$raw_file" | sed "s|$root||")"
+ set -- "$@" "$file"
+done <"$(tmp echo "$fx")"
case "$(awk '{for (i=1; i<=NF; i++) print $i}' "$archivers" | fzf)" in
- "gzip")
- tar -czf "$name".tar.gz "$@"
- ;;
- "xz")
- tar -cf "$name".tar "$@"
- xz -z -9 -e -T0 "$name".tar
- ;;
- "7z")
- 7z a "$name".7z "$@"
- ;;
- "zip")
- zip --symlinks -r "$name".zip "$@"
- ;;
+"gzip")
+ tar -czf "$name".tar.gz "$@"
+ ;;
+"xz")
+ tar -cf "$name".tar "$@"
+ xz -z -9 -e -T0 "$name".tar
+ ;;
+"7z")
+ 7z a "$name".7z "$@"
+ ;;
+"zip")
+ zip --symlinks -r "$name".zip "$@"
+ ;;
esac
# vim: ft=sh