Рейтинг:0

Чтение файла из разархивированной папки — Linux

флаг ck

то, что я пытаюсь сделать, это читать файлы из 4 разных разархивированных папок. до сих пор безуспешно, я написал этот скрипт:

для файла; делать
локальный тип_файла=$(файл -i "$файл")

case "$file_type" в
    *application/x-bzip2*) echo "Найден файл bzip2";;
*application/gzip*) echo "Найден файл gzip";;
*application/zip*) echo "Найден zip-файл";;
*application/x-xz*) echo "Файл xz найден";;
*application/x-compress*) echo "найден сжатый файл";;
?) echo "${file} не может быть извлечен";;


эсак

сделано

нет ошибки, но и нет вывода, когда я его запускаю.

cocomac avatar
флаг cn
Зачем нужно определять различные типы сжатия? Похоже, у вас может быть [проблема XY] (https://meta.stackexchange.com/q/66377).Если вам просто нужно извлечь их, введите `tar xf filename`, а tar достаточно умен, чтобы автоматически определить формат и извлечь его правильно, без необходимости указывать формат файла.
флаг hr
Как именно вы его ведете? `для файла; do` зацикливается на *позиционных параметрах* скрипта - вы на самом деле их предоставляете?
Hagai Buachi avatar
флаг ck
@cocomac мне нужно указать список имен файлов (gunzip, bunzip2, unzip, uncompress) имя файла tar xf также ничего не делает.
Hagai Buachi avatar
флаг ck
@steeldriver, можете ли вы объяснить это, пожалуйста?
cocomac avatar
флаг cn
`tar xf filename` определенно должен что-то делать. Попробуйте запустить tar xf filename вручную в терминале и посмотрите, работает ли он. Если нет, то ваш tar неисправен, и вы должны его починить. Если он там работает, то что-то не так с вашим скриптом, возможно, что сказал @steeldriver. Кроме того, запустите свой скрипт через [ShellCheck] (https://www.shellcheck.net/). Он найдет любые ошибки или ошибки, которые вы пропустили.
Hagai Buachi avatar
флаг ck
@cocomac я запустил его в ShellCheck, и все в порядке, как я уже сказал выше, tar также не отвечает
флаг hr
@HagaiBuachi, если бы вы запустили ** именно то, что вы разместили ** в shellcheck, он должен был сказать вам, что (1) у него нет «шебанга» для идентификации оболочки и (2) что `local` допустимо только в функции
Hagai Buachi avatar
флаг ck
@steeldriver, что мне делать, чтобы это исправить?

Ответить или комментировать

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