Вопросы с тегом «posix»

POSIX - это аббревиатура от Portable Operating System Interface, семейства стандартов, определенных IEEE для обеспечения совместимости между операционными системами.

139
Что именно POSIX?

Я вижу, что POSIX упоминается часто и повсеместно, и я предполагал, что он является базовым стандартом UNIX ... пока не заметил следующую выдержку на странице Википедии: Открытая группа Open Group наиболее известна как орган по сертификации товарного знака UNIX и публикации технического стандарта...

98
Разница между «функцией foo () {}» и «foo () {}»

Я могу определить bashфункции, используя или опуская functionключевое слово. Есть ли разница? #!/bin/bash function foo() { echo "foo" } bar() { echo "bar" } foo bar Оба вызова функций fooи barуспешно, и я не вижу никакой разницы. Поэтому мне интересно, если это просто для улучшения читабельности,...

75
Относятся ли отчеты о проделанной работе / журналы к stderr или stdout?

Существует ли официальное руководство по POSIX, GNU или другим правилам о том, где следует печатать отчеты о ходе работы и информацию о регистрации (например, «Doing foo; foo done»)? Лично я склонен записывать их в stderr, чтобы я мог перенаправить stdout и получать только фактический вывод...

72
В чем смысл внешней команды `cd`?

Как указано в этом прекрасном ответе , системы POSIX имеют внешний двоичный файл cdв дополнение к встроенной оболочке. На OS X 10.8 это так /usr/bin/cd. Вы не можете использовать его как встроенный, cdтак как он выходит сразу после изменения своего рабочего каталога. Какой цели это...

72
Как я могу проверить соответствие POSIX сценариев оболочки?

Учитывая, что POSIX является наиболее близкой к общему стандарту среди всех единиц, мне интересно знать, существует ли оболочка, которая поддерживает его исключительно. Хотя большинство современных оболочек обеспечивают поддержку POSIX (и без проблем запускают POSIX-совместимые сценарии), они не...

55
Насколько переносимы / dev / stdin, / dev / stdout и / dev / stderr?

Иногда мне нужно указать «путь-эквивалент» один из стандартных IO потоков ( stdin, stdout, stderr). Так как 99% времени я работаю с Linux, я просто собираюсь /dev/получить /dev/stdinи т. Д., И это « похоже, делает правильно». Но, с одной стороны, мне всегда было неловко по поводу такого обоснования...

53
Rm. * Удаляет ли родительский каталог?

Выражение .*расширяется с помощью bash для включения текущего и родительского каталогов: $ ls -la total 2600 drwxrwxrwx 2 terdon terdon 2162688 Sep 10 16:22 . drwxr-xr-x 142 terdon terdon 491520 Sep 10 15:34 .. -rw-r--r-- 1 terdon terdon 0 Sep 10 16:22 foo $ echo .* . .. Если я запускаю rm -rf .*на...

49
Когда и как двойная тире (-) была введена как конец разделителя опций в Unix / Linux?

Я не думаю, что оболочка / утилиты в историческом Unix или в чем-то «недавнем», как 4.4BSD, поддерживали использование двойного тире (или двух последовательных дефисов) в качестве конца разделителя опций . В FreeBSD вы можете увидеть, например, заметку, представленную на rm страницах руководства с...

45
Почему обязательные утилиты POSIX не встроены в оболочку?

Цель этого вопроса - ответить на любопытство, а не решить конкретную вычислительную проблему. Вопрос заключается в следующем: почему обязательные утилиты POSIX обычно не встроены в реализации оболочки? Например, у меня есть сценарий, который в основном считывает несколько небольших текстовых файлов...

44
Является ли тест или [или [[более переносимым как между оболочками Bash, так и между другими оболочками?

Я вижу, я могу сделать $ [ -w /home/durrantm ] && echo "writable" writable или $ test -w /home/durrantm && echo "writable" writable или $ [[ -w /home/durrantm ]] && echo "writable" writable Мне нравится использовать третий синтаксис. Они эквивалентны во всех отношениях и для...

43
Почему именования системных вызовов UNIX / POSIX так неразборчивы?

В чем причина использования таких неописуемых имен системных вызовов, как timeи creatвместо getCurrentTimeSecsи, createFileили, возможно, более подходящих для Unix get_current_time_secsи create_file. Что подводит меня к следующему пункту: почему кто-то хочет что-то вроде cfsetospeedбез верблюжьего...

37
Почему некоторые приложения используют ~ / .config / appname для своих данных конфигурации, в то время как другие используют ~ / .appname?

Я заметил, что некоторые приложения помещают свои файлы конфигурации в ~/.config/appnameто время как другие используют ~/.appname(классический способ, AFAIK) для этого. Какой смысл в этом различии и что может быть лучше рассмотреть для моего приложения? ОБНОВЛЕНИЕ: Похоже, что для моего (XUbuntu...

33
Несколько аргументов в Шебанге

Мне интересно, существует ли общий способ передачи нескольких опций в исполняемый файл через строку shebang ( #!). Я использую NixOS, и обычно первая часть шебанга в любом сценарии, который я пишу /usr/bin/env. Проблема, с которой я сталкиваюсь, состоит в том, что все, что приходит после,...

29
Какой текущий десятичный разделитель?

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

29
Является ли частью какого-либо стандарта (например, POSIX), что системные файлы должны быть в нижнем регистре?

Моя компания перепродает приложение с фирменным наименованием в смешанном регистре, например «ApplicationName». Установщик приложения создает все пути и имена файлов в этом стандарте. Например, основной каталог /opt/ApplicationName, файл инициализации называется, ApplicationNameпоэтому я должен...

28
Почему оболочка автоматически не исправляет «бесполезное использование кошки»? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 8 месяцев назад . Многие люди используют oneliners и скрипты, содержащие код вдоль строк cat...

27
Разрешено ли оболочке оптимизировать бесполезные завершающие команды?

Если оболочку просят выполнить, вероятно, бесполезную ( или частично бесполезную ) команду, о которой известно, что она завершается, например cat hugeregularfile.txt > /dev/null, может ли она пропустить выполнение этой команды ( или выполнить, скажем, более дешевый эквивалент touch -a...