Как заменить исполняемый файл sqlite3 последней версией на моем raspberry pi?

Использование петли forпо выходу findв лучшем случае является анти--шаблоном. См. BashFAQ/001 -Как я могу прочитать файл (поток данных, переменную )строку -по -строку (и/или поле -по полю -)? почему. Используйте цикл while, как показано ниже, с командой read. Приведенная ниже команда разделяет вывод findнулевым байтом, а команда readчитает путем разделения на этот байт, так что все файлы со специальными символами в именах безопасно обрабатываются (, включая новые строки)

#!/usr/bin/env bash

site="hello"
wDir="/home/websites/${site}/httpdocs/"

find "${wDir}" -name "*.css" -type f -print0 | while IFS= read -r -d '' file; do
    printf '%s\n' "$file"
done

Или вообще не используйте конвейерные -линии и выполняйте -подстановку

while IFS= read -r -d '' file; do
    printf '%s\n' "$file"
done< <(find "${wDir}" -name "*.css" -type f -print0)

Веб-сайт ShellCheck не сообщает о каких-либо проблемах ни с одним из двух приведенных выше фрагментов кода.

0
31.01.2020, 02:01
1 ответ

Чтобы найти местоположение исполняемого файла в Linux, используйте whichили whereis. Однако для обновления программного обеспечения рекомендуется использовать диспетчеры пакетов. Debian использует apt.

# sudo apt-get update
# sudo apt-get install sqlite3
# which ls
/usr/bin/ls
# whereis ls
ls: /usr/bin/ls /bin/ls /home/james/ls.txt /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
0
28.04.2021, 23:25

Теги

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