Портирование с соляриса на линукс (т.е. по команде солнца)

Сейчас я работаю над проектом переноса (то есть соляриса на 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" где-нибудь в строке (из памяти). Этого должно быть достаточно для определения операционной системы, которая, вероятно, все, что вам нужно.

Обнаружение машины и / или процессора, вероятно, не имеет отношения к программному обеспечению, если вы не отправляете двоичные исполняемые файлы для всех платформ и не выбираете, какие из них будут динамически работать.

Другие вопросы по тегам