Похоже, этот термин используется неоднозначно. Похоже, он означает либо
Справочное руководство Bash,
Раздел 3.2.4.2 Условные конструкции, говоря о [[
...]]]
, говорит:
... Выражения состоят из первичных элементов, описанных ниже в Bash Условные выражения. ...
это несколько запутанный раздел, который вы цитируете в своем вопросе.
Далее в нем перечисляются -a файл
,
-b file
, ..., -t fd
, ...,
file1 -ef file2
, ...,
-z string
, ...,
string1 != string2
, и т.д.
И спецификация POSIX для команды test
,
section OPERANDS
(спасибо, BinaryZebra, за идентификацию этого источника) говорится:
Праймари с двумя элементами формы:
- первичный_оператор первичный_операнд
известны как унарные первички. Примари с тремя элементами в любой из двух форм:
primary_operand -primary_operator primary_operand
primary_operand primary_operator primary_operand
известны как бинарные первообразные. ...
Итак, эти два источника, похоже, согласны с тем.
что -b файл
, -c файл
и т.д..,
это праймериз. Но, вы правы;
когда в разделе 6.4 справочного руководства говорится о том.
"аргументе file к одному из первичных".
кажется, что речь идет об операторах.
(например, -b
, -c
, ...) как первичные.
Solaris smf
поддерживает устаревшие сценарии, поэтому ваш /etc/rc0.d/K400rc.local.shutdown.sh
будет выполняться при завершении работы. Префикс K40
и суффикс .sh
— единственные важные части, остальные 0rc.local.shutdown
не имеют значения для ОС.
Если вы хотите преобразовать эту задачу в службу smf
, вместо того, чтобы думать об уровнях завершения работы и запуска, лучше определить, от чего будет зависеть ваша служба (ваша служба остановится после завершения работы выбранной службы ).
Затем создайте манифест без -запуска операции exec-method
и используйте сценарий выключения в качестве остановки exec-method
.