Вопрос: существует ли безболезненный способ удостовериться, что пользователь может войти в систему и сохранить свои активные настройки каталога?
Нет. Он не сможет войти в систему, пока DC не вернулся. Вы могли сделать, чтобы он вошел в систему локально с непаролем пользователя в домене, скопировал свой каталог профиля по новому и молился, чтобы он работал - но у Вас, вероятно, будут некоторые отклонения. Зафиксируйте ту статистику DC.
rm -rf `cat /path/to/filename`
''символы могут быть заменой $ ()
из страницы справочника удара:
Command Substitution
Command substitution allows the output of a command to replace the command
name. There are two forms:
$(command)
or
`command`
Bash performs the expansion by executing command and replacing the command
substitution with the standard output of the command, with any trailing
newlines deleted. Embedded newlines are not deleted, but they may be
removed during word splitting. The command substitution $(cat file) can
be replaced by the equivalent but faster $(< file).
When the old-style backquote form of substitution is used, backslash
retains its literal meaning except when followed by $, `, or \. The first
backquote not preceded by a backslash terminates the command substitution.
When using the $(command) form, all characters between the parentheses
make up the command; none are treated specially.
Command substitutions may be nested. To nest when using the backquoted
form, escape the inner backquotes with backslashes.
If the substitution appears within double quotes, word splitting and path‐
name expansion are not performed on the results.
Никакая потребность в cat
или цикл:
xargs -d '\n' -a file.list rm
while read filename ; do rm "$filename" ; done < files.lst
Только для ада его, просто превратите файл в сценарий и выполнитесь, это обрабатывает пробел и большинство других неловких символов и просто. Не порождает больше процессов, чем большинство вышеупомянутых методов.
sed -ie 's/^/rm -f "/;s/$/"/' <filename>
sh <filename>
sh -c "$(sed -e 's/\(.*\)/rm -f "\1"/' <filename>)"
(также показ альтернативы sed
сценарий).
– Paused until further notice.
28 August 2010 в 17:39
Текущие ответы достаточны - xargs, может перестать работать, если у Вас есть слишком много файлов, хотя - в этом случае Вам будет нужен некоторый цикл.
Также - при выполнении такого рода вещи это не плохая идея, вместо того, чтобы удалить, переместить файлы в другую папку, таким образом, можно вручную проверить, что некоторые странные имена файлов не сделали некоторую ошибку. Затем когда Вы уверены, что Вы хорошо, просто удаляете папку.