35 lines
1.2 KiB
Bash
35 lines
1.2 KiB
Bash
#!/bin/bash
|
|
|
|
HOMECPU="homecpu.txt"
|
|
CURRENTCPU=$(grep -m1 'model name' /proc/cpuinfo | awk -F':' '{print $2}' | sed -E 's/^[ \t]+//')
|
|
|
|
# Извлекаем только модель (например, i7-9700K из полного названия)
|
|
EXTRACT_MODEL() {
|
|
echo "$1" | grep -oE '[iI]ntel|[aA]md|[iI][0-9]*-[0-9A-Z]*|[rR]yzen|[0-9A-Z]*-[0-9A-Z]*' | head -1
|
|
}
|
|
|
|
CURRENT_MODEL=$(EXTRACT_MODEL "$CURRENTCPU")
|
|
|
|
gcc ./code.c -o ./run
|
|
|
|
if [ ! -f "$HOMECPU" ]; then
|
|
echo "Домашняя модель CPU не найдена, используем текущую: $CURRENT_MODEL"
|
|
CPUMODEL="$CURRENT_MODEL"
|
|
else
|
|
HOMECPU_CONTENT=$(<"$HOMECPU")
|
|
HOME_MODEL=$(EXTRACT_MODEL "$HOMECPU_CONTENT")
|
|
echo "Домашняя модель CPU: $HOME_MODEL"
|
|
echo "Текущая модель CPU: $CURRENT_MODEL"
|
|
|
|
if [ "$CURRENT_MODEL" = "$HOME_MODEL" ]; then
|
|
echo "Модели совпадают, используем текущую модель"
|
|
CPUMODEL="$CURRENT_MODEL"
|
|
else
|
|
echo "Модели не совпадают, используем домашнюю модель"
|
|
CPUMODEL="$HOME_MODEL"
|
|
fi
|
|
fi
|
|
|
|
# Отправляем модель CPU и ввод для программы
|
|
( printf "%s\n1\n" "$CPUMODEL"; cat ) | ./run
|