#!/bin/sh
new='/usr/bin/ibtool_orig'
for i; do
if [ "$i" = --errors ] || [ "$i" = --warnings ]; then
: # skip these
else
new="$new $i"
fi
done
exec $new
Предполагается, что в параметрах не будет специальных символов оболочки, таких как кавычки, скобки и т. Д .; обработка, которая делает это намного более сложным, и тогда сценарий perl может быть проще:
#!/usr/bin/perl
my @new = grep(!/^--(errors|warnings)\z/, @ARGV);
exec '/usr/bin/ibtool_orig', @new;
Хм, он тоже немного короче :)
Бит setgid для файлов не имеет ничего общего с каталогами. Бит setgid в вашем примере означает, что исполняемый файл hoststat
запускается с идентификатором группы, установленным на I'd группы mail
, предположительно потому, что ему требуется контролируемый доступ к файлам или каталогам, принадлежащим группе mail
.