Запустите функцию bash, которая принимает два имени файла в качестве переменных из командной строки

Это говорит о том, что нет никакой гарантии, что руководства POSIX (для чего-либо)соответствуют фактической реализации соответствующей вещи в вашей конкретной системе.

Чтобы получить руководство для pthread_mutex_trylock(), установите руководство для библиотеки, реализующей интерфейс.

В системах Ubuntu требуемое руководство является частью glibc-docпакета (, найденного путем поиска имени функции на страницах поиска пакетов Ubuntu).

Руководство по POSIX определенно не бесполезно. Локальный интерфейс Linux должен быть совместим с интерфейсом, описанным в руководстве по POSIX, но в руководстве по конкретной реализации -могут также упоминаться предостережения, специфические для Linux -детали реализации и расширения, а также аналогичные -] Функции POSIX.

Руководства по POSIX становятся особенно важными, если вас беспокоит переносимость вашего кода на другие системы Unix,в этом случае вам следует избегать использования специфических для Linux -расширений спецификации POSIX.

0
06.02.2020, 21:16
1 ответ
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"

внутри функции, чтобы не получить бесконечную рекурсию.

4
28.04.2021, 23:24

Теги

Похожие вопросы