Канал или пароль эха в команду RAR?
Я пытаюсь использовать RAR из командной строки в защищенном паролем архиве:
$ rar t spe_05_1.part13.rar
RAR 5.11 Copyright (c) 1993-2014 Alexander Roshal 27 Aug 2014
Trial version Type RAR -? for help
Enter password (will not be echoed) for spe_05_1.part13.rar:
RAR, кажется, не имеет смены пароля. Он предлагает способ установить пароль для архива, но я не могу найти способ передать пароль команде для тестирования (t
команда) или извлечение (x
команды):
$ rar | grep -i password
hp[password] Encrypt both file data and headers
p[password] Set password
p- Do not query password
Мне нужно автоматизировать ввод пароля (я должен попробовать несколько паролей), поэтому я пытаюсь использовать echo
а также pipe
:
$ echo diespe120 | rar t spe_05_1.part13.rar
RAR 5.11 Copyright (c) 1993-2014 Alexander Roshal 27 Aug 2014
Trial version Type RAR -? for help
Enter password (will not be echoed) for spe_05_1.part13.rar:
К сожалению, это побуждает меня.
Как автоматизировать ввод пароля для RAR в скрипте?
PASSWORDS=
for i in {100..150}
do
pw=$(printf "diespe%03d" $i)
PASSWORDS+="$pw "
done
for PASSWORD in $PASSWORDS
do
echo $PASSWORD | rar t spe_05_1.part13.rar
if [ $? -eq 0 ]; then
echo "Password is " $PASSWORD
break
fi
done
1 ответ
Решение
Как автоматизировать ввод пароля для RAR в скрипте?
Для автоматизации не используйте трубы. Вместо этого используйте переменную оболочки. Пытаться:
for PASSWORD in $PASSWORDS
do
rar t -p"$PASSWORD" spe_05_1.part13.rar
if [ $? -eq 0 ]; then
echo "Password is '$PASSWORD'"
break
fi
done