POSIX

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Grih65kop
Сообщения: 145

POSIX

Сообщение Grih65kop »

Заинтересовала тема написания переносимых сценариев для различных интерпретаторов. Как я понимаю необходимо поддерживаться определенных норм при их написании. Возможно ли найти POSIX примеры сценариев указывающие на нормы?
На данный момент интересуют следующая конструкция под POSIX:

Код: Выделить всё

if [[ $# -ne 1 ]]
then
        echo "./$(basename $0)"
        exit
fi

Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: POSIX

Сообщение watashiwa_daredeska »

Grih65kop писал(а):
08.06.2012 00:03
На данный момент интересуют следующая конструкция под POSIX:

Код: Выделить всё

if [[ $# -ne 1 ]]
then
        echo "./$(basename $0)"
        exit
fi

Код: Выделить всё

if [ $# -ne 1 ]
then
        echo "./$(basename $0)"
        exit
fi
вот так нормально.

Grih65kop писал(а):
08.06.2012 00:03
Возможно ли найти POSIX примеры сценариев указывающие на нормы?
Примеры — не знаю, разве что скрипты configure, которые генерит autoconf, но они еще более restricted, чем POSIX. Можно сверяться с самим POSIX'ом: http://pubs.opengroup.org/onlinepubs/9699919799/
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: POSIX

Сообщение Portnov »

В дебиане/убунте пакет devscripts включает такой скрипт — checkbashisms :) Соответственно названию, проверяет скрипты на наличие bash-специфичных конструкций.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: POSIX

Сообщение watashiwa_daredeska »

Portnov писал(а):
08.06.2012 07:46
Соответственно названию, проверяет скрипты на наличие bash-специфичных конструкций.
А на gnu'измы в параметрах команд он проверяет?
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: POSIX

Сообщение t.t »

watashiwa_daredeska писал(а):
08.06.2012 00:56

Код: Выделить всё

if [ $# -ne 1 ]
then
        echo "./$(basename $0)"
        exit
fi
вот так нормально.
Разве $(...) это POSIX? По-моему, `...` надо.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5458
ОС: Gentoo

Re: POSIX

Сообщение /dev/random »

t.t писал(а):
09.06.2012 20:19
Разве $(...) это POSIX?

Да.
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: POSIX

Сообщение t.t »

/dev/random писал(а):
09.06.2012 21:29
t.t писал(а):
09.06.2012 20:19
Разве $(...) это POSIX?
Да.
Спасибо. Кто-то со мной очень авторитетно спорил, что это башизм. Впрочем, не исключено, что мы друг друга не поняли, и он говорил не о стандарте, а о том, что де-факто такая запись не везде работает.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали: