newgrp
запускает подоболочку с группы, которую Вы указали. Так, чтобы строка в Вашем сценарии не заканчивалась, пока та подоболочка не сделана.
Обработка newgrp
также отличается, если Вы используете bash
или ksh
. ksh
реализации это как встроенная команда, которая эквивалентна exec /usr/bin/newgrp [group]
. Так, как exec
, newgrp
никогда возвраты. (См. некоторую документацию здесь.)
Если Вы хотите, чтобы это возвратило, и хотело выполнить команды в той подоболочке с измененными идентификационными данными группы, можно использовать перенаправление.
Например:
#!/bin/ksh
echo "Before newgrp"
/usr/bin/newgrp users <
Уведомление: /usr/bin/newgrp
назван явно для предотвращения неявного exec
от ksh
. Последняя команда в том сценарии будет работать в исходной оболочке с исходными идентификационными данными группы.
gconftool-2 -t string -s /desktop/gnome/background/picture_options scaled # background style
gconftool-2 -t string -s /desktop/gnome/background/picture_filename PATHTOIMAGEHERE # background file