From eb3d8950895cb9ecaaa16cf700e5e1f94485bd67 Mon Sep 17 00:00:00 2001 From: blueingreen68 Date: Tue, 26 Dec 2023 19:03:41 +0500 Subject: update --- library/stow.sh | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 library/stow.sh (limited to 'library/stow.sh') diff --git a/library/stow.sh b/library/stow.sh new file mode 100644 index 0000000..cd6a0da --- /dev/null +++ b/library/stow.sh @@ -0,0 +1,79 @@ +#!/bin/bash + +readArrays () { + readarray -t stowPkgs < <(ls -l "$dotfiles" | grep '^d' | awk '{ print $9 }') +} + +checkPkg () { + + counterAbortedPkg=$((counterAbortedPkg+1)) + + if [ "$counterAbortedPkg" -eq 1 ]; then echo -e "$(date +%d-%m-%Y::%T) \n" >> "$dotfiles"/abortedPkg.txt + fi + + echo "Название пакета: $package" >> "$dotfiles"/abortedPkg.txt + stow -d "$dotfiles" -nvt ~ "$package" 2>&1 | awk '{ print $11 }' | sed '/^[[:space:]]*$/d' >> "$dotfiles"/abortedPkg.txt + +} + +stowNoFolding () { + setStatusE true + + stow -d "$dotfiles" --no-folding -nvt ~ "$package" + + if [ $? -eq 1 ]; then + setStatusE false + checkPkg + else + setStatusE false + stow -d "$dotfiles" --no-folding -vt ~ "$package" + fi + +} + +stowDir () { + + setStatusE true + + stow -d "$dotfiles" -nvt ~ "$package" + + if [ $? -eq 1 ]; then + setStatusE false + checkPkg + else + setStatusE false + stow -d "$dotfiles" -vt ~ "$package" + fi + +} + +stowPkgExtract () { + + for package in ${stowPkgs[@]} + do + packageFirstSymbol=${package:0:1} + + if [ "$packageFirstSymbol" = "_" ]; then + stowNoFolding + else + stowDir + fi + done + +} + +stowUpdateNoFoldingPkg () { + + for package in ${stowPkgs[@]} + do + packageFirstSymbol=${package:0:1} + + if [ "$packageFirstSymbol" = "_" ]; then + stowNoFolding + fi + done + +} + +readArrays +stowPkgExtract -- cgit