Чтобы сделать сопоставление с образцом на путях портативно, можно установить IFS
окружите переменную к /
и затем используйте расширение параметра оболочки.
Выполнение всего этого в подоболочке помогает хранению неизменной среды родительской оболочки!
# cf. "The real Bourne shell problem",
# http://utcc.utoronto.ca/~cks/space/blog/programming/BourneShellLists
paths='
x86-headers/elf/C/populate.sh
x86-headers/gl/C/populate.sh
x86-headers/gmp/C/populate.sh
x86-headers/gnome2/C/populate.sh
x86-headers/gtk2/C/populate.sh
x86-headers/jni/C/populate.sh
x86-headers/libc/C/populate.sh
'
IFS='
'
# version 1
for x in $paths; do
( IFS='/'; set -- ${x}; echo "$2" );
done
# version 2
set -- ${paths}
for x in $@; do
( IFS='/'; set -- ${x}; echo "$2" );
done
Вы получаете ошибку о той строке, пропускающей идентификационное поле, потому что, ну, в общем, это пропускает идентификационное поле.
От inittab(5)
страница справочника:
Запись в inittab файле имеет следующий формат:
id:runlevels:action:process
Строки, начинающиеся '#', проигнорированы.
id is a unique sequence of 1-4 characters which identifies an entry in inittab […]
Его возможное, что Вы недавно добавили уродливую строку, или что, возможно, Вы были предыдущим выполнением версии init, который не заметил. Или это, Вы не заметили сообщение, или возможно что сообщение не было зарегистрировано правильно.
В любом случае фиксация проста: добавьте идентификатор.
[Примечание: Ваша строка имеет другие проблемы также. Его пропавшие без вести runlevels. Я не уверен, каково действие "перезапуска", возможно, это должна быть "переикра". И это действительно "reS" вместо "rcS"?]
id
кому:mine
, и удаленный killall5. Это успешно работалоubiformat
Мне было нужно послеkill -HUP 1
. Спасибо за справку – TopGunCoder 19.11.2013, 20:15