7za - вызов из скрипта: что за фигня?

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
no avatar

Автор темы
vromanov
Сообщения: 34
Зарегистрирован: 03 дек 2017, 14:54
Благодарил (а): 2 раза
Поблагодарили: 2 раза
Контактная информация:

7za - вызов из скрипта: что за фигня?

#1

27 фев 2020, 13:33

Вызываю из скрипта test.sh программу 7za
#!/bin/sh
DIR4=/mnt/5A4CFC164CFBEAA1/Backup/Archive
DIR5=/mnt/EC644DAE644D7BF8/
DIR6=/mnt/EE64694064690D21/
/usr/bin/7za a -r $DIR4/Tools.7z $DIR5Tools/*&&/usr/bin/7za a -r $DIR4/MyHomeLib.7z $DIR6MyHomeLib/*
Получаю на выходе в терминале странные сообщения
...
/proc/7488/task/7488/fdinfo/ : Отказано в доступе
/proc/7488/task/7488/ns/ : Отказано в доступе
/proc/7488/fd/ : Отказано в доступе
/proc/7488/map_files/ : Отказано в доступе
/proc/7488/fdinfo/ : Отказано в доступе
/proc/7488/ns/ : Отказано в доступе
/proc/7569/task/7569/fd/ : Отказано в доступе
/proc/7569/task/7569/fdinfo/ : Отказано в доступе
/proc/7569/task/7569/ns/ : Отказано в доступе
/proc/7569/fd/ : Отказано в доступе
/proc/7569/map_files/ : Отказано в доступе
/proc/7569/fdinfo/ : Отказано в доступе
/proc/7569/ns/ : Отказано в доступе
/etc/ssl/private/ : Отказано в доступе
...
Похоже, 7za пытается архивировать все, что есть в системе

Если эту же строку (после подстановки параметров, конечно) выполняю в командном окне - все нормально.
victor@victor-linux:~$ 7za a -r /mnt/5A4CFC164CFBEAA1/Backup/Archive/Tools.7z /mnt/EC644DAE644D7BF8/Tools/*&&7za a -r /mnt/5A4CFC164CFBEAA1/Backup/Archive/MyHomeLib.7z /mnt/EE64694064690D21/MyHomeLib/*&&7za a -r /mnt/5A4CFC164CFBEAA1/Backup/Archive/Archive.7z /mnt/EC644DAE644D7BF8/Архив/*

7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz (206A7),ASM,AES-NI)

Scanning the drive:
30 folders, 1090 files, 165296513 bytes (158 MiB)

Creating archive: /mnt/5A4CFC164CFBEAA1/Backup/Archive/Tools.7z

Items to compress: 1120


Files read from disk: 1087
Archive size: 60895625 bytes (59 MiB)
Everything is Ok

7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz (206A7),ASM,AES-NI)

Scanning the drive:
45 folders, 287 files, 429233794 bytes (410 MiB)

Creating archive: /mnt/5A4CFC164CFBEAA1/Backup/Archive/MyHomeLib.7z

Items to compress: 332


Files read from disk: 280
Archive size: 102491400 bytes (98 MiB)
Everything is Ok

7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz (206A7),ASM,AES-NI)

Scanning the drive:
2671 folders, 19451 files, 4754741554 bytes (4535 MiB)

Creating archive: /mnt/5A4CFC164CFBEAA1/Backup/Archive/Archive.7z

Items to compress: 22122
Непонятно, в чем причина? Кто поможет?

Аватара пользователя

slant
Сообщения: 4469
Зарегистрирован: 21 июн 2017, 18:09
Решено: 95
Благодарил (а): 51 раз
Поблагодарили: 1965 раз
Контактная информация:

7za - вызов из скрипта: что за фигня?

#2

27 фев 2020, 14:14

Где-то нарушено экранирование переменных. Тут просто отладка нужна. Замените первую строчку на такую:
#!/bin/bash -x
Теперь скрипт будет при выполнении показывать результаты каждой команды, как именно они вызываются, и значения переменных. Смотрите вывод и найдете где оно не так архиватор вызывает.

Аватара пользователя

rogoznik
Сообщения: 10015
Зарегистрирован: 27 июн 2017, 13:36
Решено: 128
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1950 раз
Контактная информация:

7za - вызов из скрипта: что за фигня?

#3

27 фев 2020, 15:03

vromanov писал(а):
27 фев 2020, 13:33
$DIR4/Tools
Чтоб работала такая подстановка, нужно делать не так.
Вот так должно работать.

Код: Выделить всё

/usr/bin/7za a -r "${DIR4}/Tools.7z" "${DIR5}Tools/*" && /usr/bin/7za a -r "${DIR4}/MyHomeLib.7z" "${DIR6}MyHomeLib/*" 
Учите матчасть. Баш не так прост как кажется.
ИзображениеИзображение

no avatar

Автор темы
vromanov
Сообщения: 34
Зарегистрирован: 03 дек 2017, 14:54
Благодарил (а): 2 раза
Поблагодарили: 2 раза
Контактная информация:

7za - вызов из скрипта: что за фигня?

#4

27 фев 2020, 16:38

rogoznik писал(а):
27 фев 2020, 15:03
Код: Выделить всё

/usr/bin/7za a -r "${DIR4}/Tools.7z" "${DIR5}Tools/*" && /usr/bin/7za a -r "${DIR4}/MyHomeLib.7z" "${DIR6}MyHomeLib/*"

Учите матчасть. Баш не так прост как кажется.
Спасибо большое, все заработало. Буду учить матчасть

Закрыто

Вернуться в «Иное программное обеспечение»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей