Я манипулируя архивный файл, и я хотел бы, чтобы проверить, существует ли файл перед извлечением егоТестирование файла в архиве дегтя
Допустим, у меня есть архивный файл под названием archive.tar и после ввода
tar -tvf Archive.Tar
я получаю:
-rwxrwxrwx guy/root 1502 2013-10-02 20:43 Directory/File
-rwxrwxrwx guy/root 494 2013-10-02 20:43 Dir/SubDir/Text
drwxrwxrwx guy/root 0 2013-10-02 20:43 Directory
Я хочу, чтобы извлечь текст в мой каталог работает, но я хочу быть уверен, что это на самом деле файл, делая это:
if [ -f Dir/Sub/Text ]
then
echo "OK"
else
echo "KO"
fi
Результат этого теста всегда KO
, и я действительно не понимаю, почему, какие-либо предложения?
Как вы тестируете это «до извлечения его»? То есть, что такое 'Dir/Sub/Text', если вы ничего не извлекли? Неясно, какова ваша последовательность шагов. – kaylum
В сценарии, который я пишу, я должен проверить, что 'Dir/Sub/Text' является файлом перед извлечением его с помощью tar -xvf Archive.tar Dir/Sub/Text', извините за то, что он недостаточно ясен – AlexT
Я знаю это то, что вам нужно делать. Но как вы ожидаете, что скрипт, который вы показали, работает, поскольку '-f' проверяет путь? Вы не можете проверить путь, который не существует (поскольку вы его не извлекли). – kaylum