Унифицированные сравнения с патчем xxd

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

Поскольку @maulinglawns уже объяснил , почему ваш скрипт дал сбой, я дам вам более простой способ сделать это, не требующий от ваших пользователей кропотливого ввода информации:

#!/usr/bin/env sh

days="$1"
nameoffile="$2"
nameofarchive="$3"
find -name "$nameoffile" -mtime -"$days" | tar -cvf $nameofarchive".tar.gz -T -

Затем, чтобы найти файлы с именем foo.txt , измененные за последние 3 дня и заархивированные в bar.tar.gz`, вы должны запустить:

script.sh 3 foo.txt bar

Вы также можете добавить простую проверку ошибок, чтобы убедиться, что сценарий всегда запускайте с правильным количеством параметров:

#!/usr/bin/env sh

if [ $# -ne 3 ]; then
    echo "You need to enter three arguments"
    exit 1
fi

days="$1"
nameoffile="$2"
nameofarchive="$3"
find -name "$nameoffile" -mtime -"$days" | tar -cvf $nameofarchive".tar.gz -T -

2
23.11.2015, 15:58
0 ответов

Теги

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