Портирование с соляриса на линукс (т.е. по команде солнца)
Сейчас я работаю над проектом переноса (то есть соляриса на linux).. я использую одну команду, то есть команду соляра в солярисе, но я не могу найти эквивалентную команду в linux . если кто-нибудь знает, пожалуйста, скажите мне
Ниже приведена справочная страница для sun commamd в солярисе (т.е. man sun)
Пользовательские команды machid (1)
ИМЯ machid, sun, iAPX286, i286, i386, i486, i860, pdp11, sparc, u3b, u3b2, u3b5, u3b15, vax, u370 - получить истинное значение типа процессора
ОПИСАНИЕ ВС
iAPX286
i386
pdp11
sparc
u3b5
u3b15
vax
u370
ОПИСАНИЕ Следующие команды вернут истинное значение (код выхода 0), если вы используете набор инструкций, который указывает название команды.
sun True if you are on a Sun system.
iAPX286 True if you are on a computer using an
iAPX286 processor.
i386 True if you are on a computer using an
u370 True if you are on an IBMO System/370 com-
puter.
The commands that do not apply will return a false (non-
zero) value. These commands are often used within makefiles
(see make(1S)) and shell scripts (see sh(1)) to increase
portability.
АТРИБУТЫ См. Атрибуты (5) для описания следующих атрибутов:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcsu |
|_____________________________|_____________________________|
СМОТРИ ТАКЖЕ make(1S), sh(1), test(1), true(1), uname(1), атрибуты (5)
ЗАМЕТКИ
SunOS 5.10 Последнее изменение: 5 июля 1990 г. 2
Пользовательские команды machid (1)
The machid family of commands is obsolete. Use uname -p and
uname -m instead.
С уважением, уважаемый
2 ответа
Исходя из того, что вы добавили, я бы сказал, что вы можете заменить sun
с false
и проверьте вывод uname -p
или же uname -m
вместо.
Я не могу найти упоминания о sun
команда в документах Solaris (пользовательская или системная администрация). Если вы имеете в виду sum
команда, которая должна быть доступна, или вы, вероятно, хотите посмотреть на cksum
,
Возможно, ваша команда может быть локальной, и в этом случае вам нужно будет сообщить нам, что она должна делать, чтобы мы могли рассказать вам об альтернативах. Чтобы понять это, вы должны написать:
- первый бит вывода из
man sun
, - выход
which sun
, - первые 20 с лишним строк из этого файла (при условии, что это сценарий, а не двоичный файл).
После обновления вашего вопроса, похоже, у вас есть код, который зависит от sun
возвращаемое значение команды. Это вернет истину на Солнце и ложь повсюду.
Так что самое простое решение - это, вероятно, просто создать sun
скрипт, который возвращает false:
#!/bin/bash
#
# sun command on non-Sun systems
exit 1
Однако, вероятно, не все будет так просто. Очевидно, что там происходят некоторые специфичные для платформы вещи, в которые вам придется добавить код для Linux. Это напрямую не влияет на sun
команда, но все вещи, которые происходят, когда sun
Возвращает 0 и для Linux.
Если вы делаете uname -o
в Linux вы должны вернуть "Linux" где-нибудь в строке (из памяти). Этого должно быть достаточно для определения операционной системы, которая, вероятно, все, что вам нужно.
Обнаружение машины и / или процессора, вероятно, не имеет отношения к программному обеспечению, если вы не отправляете двоичные исполняемые файлы для всех платформ и не выбираете, какие из них будут динамически работать.