Это говорит о том, что нет никакой гарантии, что руководства POSIX (для чего-либо)соответствуют фактической реализации соответствующей вещи в вашей конкретной системе.
Чтобы получить руководство для pthread_mutex_trylock()
, установите руководство для библиотеки, реализующей интерфейс.
В системах Ubuntu требуемое руководство является частью glibc-doc
пакета (, найденного путем поиска имени функции на страницах поиска пакетов Ubuntu).
Руководство по POSIX определенно не бесполезно. Локальный интерфейс Linux должен быть совместим с интерфейсом, описанным в руководстве по POSIX, но в руководстве по конкретной реализации -могут также упоминаться предостережения, специфические для Linux -детали реализации и расширения, а также аналогичные -] Функции POSIX.
Руководства по POSIX становятся особенно важными, если вас беспокоит переносимость вашего кода на другие системы Unix,в этом случае вам следует избегать использования специфических для Linux -расширений спецификации POSIX.
myfunc () {
abaqus job="$1" user="$2"
}
Это вызывает abacus
с аргументами, составленными из двух аргументов, переданных функции.
С небольшой проверкой ошибок (, чтобы убедиться, что передано правильное количество аргументов):
myfunc () {
if [ "$#" -ne 2 ]; then
printf '%s: Expecting 2 arguments, got %s\n' "${FUNCNAME[0]}" "$#" >&2
return 1
fi
abaqus job="$1" user="$2"
}
Вы даже можете дать своей функции имя abaqus
, но тогда вам придется убедиться, что вы вызываете реальнуюabacus
команду с
command abaqus job="$1" user="$2"
внутри функции, чтобы не получить бесконечную рекурсию.