Как исправить сломанные пакеты в Kali Linux?

Подстановка параметра не может воздействовать на результат подстановки другого параметра без предварительного сохранения исходного результата в переменной и применения к ней второй подстановки.

Вы также зацикливаете вывод find, что не рекомендуется .

Правильный способ обеспечить цикл с результатом find— это вызвать дочернюю оболочку и выполнить цикл там:

find. -type f -iname '*_??????????.pdf' -mtime -1 -exec sh -c '
    for pathname do
        timestamp=${pathname##*_}   # remove up to last _
        timestamp=${timestamp%.pdf} # remove.pdf
        printf "pathname=%s\ttimestamp=%s\n" "$pathname" "$timestamp"
    done' sh {} +

Таким образом, вам не нужно беспокоиться о реальных путях. Имена файлов (, т. е. имена файлов и каталогов, а также другие типы файлов )в Unix могут содержать любой символ, кроме /и \0, например пробел и новую строку. Используя подстановку команд в find, вы заставляете оболочку, во-первых, выполнять разбиение слов (по умолчанию на пробелы, табуляции и новые строки ), а во-вторых, выполнять генерацию имен файлов на основе шаблонов, найденных в путях, возвращенных из find. Таким образом, ваш исходный цикл может оказаться зацикленным на совсем других словах, чем вы ожидали.

Связанные:

-3
12.08.2020, 18:24
3 ответа
sudo apt-get update --fix-missing

sudo apt-get upgrade --fix-missing
1
18.03.2021, 23:13

1-й :попробуйте команду apt -get (, если вы этого не сделали ), поэтому

apt-get update && apt-get upgrade 

, то эта команда поможет очистить ваши зависимости

sudo apt-get autoclean &&  sudo apt-get clean && sudo apt-get autoremove

те помогли в похожей проблеме. Я надеюсь, что они также помогли вам;)

1
18.03.2021, 23:13

Я бы посоветовал бежать

    sudo apt-get autoclean &&  sudo apt-get clean && sudo apt-get autoremove && sudo apt-get update --fix-missing && sudo apt-get upgrade --fix-missing
0
18.03.2021, 23:13

Теги

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