У меня это работает (но на CentOS 7.1). Я что-то пропустил?
read -p "Send files from date (MM-DD-YYYY) : " fromdate
if [[ -z ${fromdate// } ]]
then
echo "Empty input"
fromdate=$(date +%m-%d-%Y)
fi
echo "Input: $fromdate"
find /path/to/directory -maxdepth 1 -name "*$fromdate*"
Это разные подходы к одной и той же общей проблеме с несколько разными областями :выполнения двоичных файлов, созданных для разных архитектур.
Когда вы получаете бинарный файл для запуска, вам нужны три вещи :библиотеки, которые ему нужны (, если они есть, включая его динамический загрузчик ), поддержку системных вызовов, которые он делает, и возможность интерпретировать содержащиеся в нем машинные инструкции. Multilib и multiarch обращаются к первым.
Multilib работает с таблицей известных вариантов для каждой архитектуры. Первоначально это относилось к вариантам ABI, , например. на MIPS, но в настоящее время наиболее распространенным его использованием является поддержка 32 -бит на x86 :обычно он определяет lib32
как 32 -битный каталог библиотеки (и это определение для x86 -конкретный ). Таким образом, установка с несколькими библиотеками может предоставить 64-битный -загрузчик в /lib
и 32-битный -в /lib32
. На стороне компилятора вы указываете -m32
для создания 32-битного -битного двоичного файла с использованием мультибиблиотеки.
Мультиархитектура является более общей, :ее определения не зависят от архитектуры хоста. Все библиотеки находятся в подкаталоге lib
, соответствующем их целевой архитектуре; /usr/lib/x86_64-linux-gnu/
, /usr/lib/i386-linux-gnu
и т. д. На стороне компилятора вы используете соответствующий кросс-компилятор -.
Какой подход вы используете для запуска 32 -битного двоичного файла, зависит от дистрибутива. Debian и его производные теперь используют multiarch, другие дистрибутивы используют multilib.