fc встроен в отсутствующий из тире (т. е. история командной строки не работает)?

В справочнике dash в разделе Builtins есть объяснение на fc, в котором встроено управление версией оболочки и повторное выполнение команд из нее, FCEDIT и HISTSIZE. Тем не менее, когда я пытаюсь выполнить его dash, команда не обнаруживает ошибку.

$ echo one one $ fc -l 1 dash: 2: fc: not found $ fc dash: 3: fc: not found

Вопрос в том, почему? Является ли это одним из стандартных и сознательных решений, созданных разработчиками Ubuntu, или мне может понадобиться включить fc?

Я нашел отчет об ошибке в Debian, который упоминает fc, но упомянутый патч для i386 и последняя активность в отчете была в 2008 году, поэтому ничего относительно Ubuntu пока нет. И исторически, fc имеет исправления и существует в версиях для разных выпусков BSD, поэтому здесь должно быть что-то специфическое для Ubuntu или Debian.

4
задан 21 April 2018 в 21:36

3 ответа

Проверить номер строки 57-59 в src/builtins.def.in исходного кода:

#ifndef SMALL
histcmd     -u fc
#endif

SMALL определяется, если --with-libedit не задано в configure, что имеет место для нашей тире / шиллинг Я думаю, что это касается оптимизации объема памяти.

Также Changelog говорит:

2005-10-29  Herbert Xu <herbert@gondor.apana.org.au>
[...]
* Disable histcmd completely when SMALL is defined.
[...]

Если компиляция с --with-libedit была преднамеренным выбором или нет, то я не знаю. 5]

3
ответ дан 22 May 2018 в 11:19
  • 1
    Ты прав. По-видимому, --with-libedit выделяет множество функций, которые полагаются на него. Это похоже на мой старый вопрос askubuntu.com/a/704719/295286 Kinda становится предсказуемым :) – Sergiy Kolodyazhnyy 21 April 2018 в 22:02
  • 2
    Иначе говоря: бедная ubuntu тире искалечена, она просто служит как / bin / sh. Я признаю, что пакет с полной версией тире был бы неплохо иметь в дополнение. – Sebastian Stark 21 April 2018 в 22:07
  • 3
    Да, согласился. И, честно говоря, я думаю, что он еще более ограничен, чем POSIX /bin/sh. Я вижу преимущество в скорости для более старого оборудования, но мы уже в 2018 году, и сохранение /bin/sh не обеспечивает такой большой скорости. Похоже, что использование более нового оборудования с многоядерными процессорами лучше. – Sergiy Kolodyazhnyy 21 April 2018 в 22:11

Проверить номер строки 57-59 в src/builtins.def.in исходного кода:

#ifndef SMALL histcmd -u fc #endif

SMALL определяется, если --with-libedit не задано в configure, что имеет место для нашей тире / шиллинг Я думаю, что это касается оптимизации объема памяти.

Также Changelog говорит:

2005-10-29 Herbert Xu <herbert@gondor.apana.org.au> [...] * Disable histcmd completely when SMALL is defined. [...]

Если компиляция с --with-libedit была преднамеренным выбором или нет, то я не знаю.

3
ответ дан 17 July 2018 в 16:25

Проверить номер строки 57-59 в src/builtins.def.in исходного кода:

#ifndef SMALL histcmd -u fc #endif

SMALL определяется, если --with-libedit не задано в configure, что имеет место для нашей тире / шиллинг Я думаю, что это касается оптимизации объема памяти.

Также Changelog говорит:

2005-10-29 Herbert Xu <herbert@gondor.apana.org.au> [...] * Disable histcmd completely when SMALL is defined. [...]

Если компиляция с --with-libedit была преднамеренным выбором или нет, то я не знаю.

3
ответ дан 23 July 2018 в 17:18

Другие вопросы по тегам:

Похожие вопросы: