Если Вы используете Red Hat Enterprise Linux, я не думаю, что ncdu находится в репозиториях сервера RHEL. У меня нет машины, где я могу проверить, находится ли это в репозиториях рабочей станции, но я подозреваю, что это не. Если это не, одна опция является использованием EPEL (часто задаваемые вопросы):
EPEL (Дополнительные Пакеты для Предприятия Linux) является основанным на волонтере общественным усилием из проекта Fedora создать репозиторий высококачественных дополнительных пакетов, которые дополняют основанный на Fedora Red Hat Enterprise Linux (RHEL) и его совместимые ответвления, такие как CentOS и Научный Linux.
ncdu
действительно кажется, находится в репозиториях EPEL, предназначенных для работы с RHEL 4 и RHEL 5. Направления для того, как использовать эти репозитории, могут быть найдены здесь:
С другой стороны, можно всегда загружать инструмент с восходящего веб-сайта:
и следуйте за направлениями в файле УСТАНОВКИ. Однако это потребует, чтобы, чтобы упорно искать зависимости и установить инструменты необходимо было разработать проект.
Я вполне уверен, человек, задающий вопрос на отказе сервера, неправ. Они или не учитывают некоторую деталь намеренно или не знают о некоторой странной конфигурации на машине (/bin/bash как ссылка на что-то еще). Я примерил двухнедельный удар 4,2 выпуска на ударе 3.2 от CentOS 5, и на ударе 2.05a (с 2001), который я создал сам сейчас для попытки.
Самый старый источник на ftp.gnu.org 1.14, но это не создает чисто, и я не уверен попытка, это стоит. Документация для того выпуска содержит те же самые ключевые фразы как в современной документации:
The order of expansions is: brace expansion, tilde expan- sion, parameter, variable, command, and arithmetic substitu- tion (done in a left-to-right fashion), word splitting, and pathname expansion.
Но на самом деле, теперь, когда я думаю о нем, это бессмысленно, начиная с "{x.. y}" синтаксис был добавлен в ударе 3.0, делая смотрящий перед этим бесполезный.
Так, позвольте мне попробовать 3.0... правильно. То же поведение.
Так да. Я чрезвычайно скептически настроен. Что-то не складывает.
(Позже...)
Ага! Корреспондент отказа сервера признает "Извините. моя ошибка. Я поместил для фактического числа в меня в {1.. 10}, таким образом, это работало хорошо". Так, там Вы идете.
Ответ на этот вопрос не является "никакой версией работ удара как этот".:)
Для расширения этого, необходимо было бы использовать eval
:
$ echo {1..5}
1 2 3 4 5
$ NUM=5
$ echo {1..$NUM}
{1..5}
$ eval "echo {1..$NUM}"
1 2 3 4 5
Будьте очень, очень осторожны с eval
хотя! Удостоверьтесь, что Вы проверяете, что это - действительно число перед выполнением чего-то вроде этого при принятии ввода данных пользователем. Поскольку мой коллега наблюдал:"eval
является злым!"
eval
(и в целом способность взять некоторую строку или текст и рассматривать его как код), мощно (просто смотрят на Lisp и весь удивительный материал, который можно сделать с ним или языки, которые одалживают у него!)
– iconoclast
14.07.2011, 23:14
Расширение фигурной скобки не разворачивает переменные, потому что расширение фигурной скобки является самым первым шагом расширения оболочки, и переменные расширены позже.
Из страницы справочника удара:
Расширение фигурной скобки выполняется, прежде чем любые другие расширения и любые символы, особенные для других расширений, сохраняются в результате. Это является строго текстовым. Bash не применяет синтаксической интерпретации к контексту расширения или текста между фигурными скобками.
Так:
NUM=4
for i in {1..$NUM}
do
echo $i
done
печать
{1..4}