попробуй это:
#!/bin/bash
#
a=1
b=45
#
while [[ $answer -lt $a || $answer -gt $b ]]; do
read -p "please answer: " answer
answer=$(echo "$answer" | tr -dc '[:alnum:]\n\r')
done
Строка answer=$(echo "$answer" | tr -dc '[:alnum:]\n\r')
удалит все специальные символы из ответа и установит новое значение переменной.
Я нахожу решение. Вот, если кому еще понадобится:
awk -F/ '{ d=$1; for (i=2; i <= NF; i++) { print d; d=d "/" $i }; print d }' dbfiles | awk '{ if (index(old,$0 "/") != 1) { old=$0; print } }' | tar czvf $LOCALFS/$TARFILENAME.tar.gz --no-recursion -T -
Спасибо тем, кто ответил на мой первоначальный вопрос.
для сжатия вы можете использовать каталог tar -cvpf filename.tar.gz
.
при извлечении используйте параметр --same-owner
. например.tar -xvzf --same-owner filename.tar.gz