Bash: Разрешить скобки в командных аргументах (то есть предотвращения «неожиданного токена» («)

В этом ответе я даю ответ, используя сценарий обратного вызова, который будет использоваться с опцией -F в tar .

Здесь я подробно рассказываю об автоматическом вводе запросов tar-подсказок, как при создании, так и при извлечении архива, и заранее оценивая количество необходимых томов:

#!/bin/bash
# CREATION SCRIPT

vol_size=100000

# estimated number of volumes: dir-size / vol-size + 1
# adding a further +1 to be safe
n=$(($(du -s Documents2 | awk '{ print $1 }') / $vol_size + 2))

for ((i = 2; i <= n; i++)); do printf 'n file-%d.tar\n' $i; done |
  tar -ML $vol_size -cf file-1.tar Documents2/ 2>&-

и

#!/bin/bash
# EXTRACTION SCRIPT

n=$(printf '%s\n' file-*.tar | sed 's/^file-//;s/\.tar$//' | sort -nr | head -1)
for ((i = 2; i <= n; i++)); do printf 'n file-%d.tar\n' $i; done |
  tar -M -xf file-1.tar 2>&-

2
24.08.2018, 18:01
0 ответов

Теги

Похожие вопросы