Как я могу сказать wget использовать только 80 символов для своего progressbarr, когда окно терминала шире этого

#shell #terminal #wget #column-width

#оболочка #терминал #wget #ширина столбца

Вопрос:

В терминале, который намного шире, чем 80 столбцов wget , использует полную ширину для своего индикатора выполнения. Как я могу сказать ему использовать только 80 символов?

В вызывающей оболочке я попытался

 export COLUMNS=80
  

и

 stty cols 80
  

Оба, похоже, не влияют wget .

PS: Я использую wget 1.20.3, установленный через brew на macOS, но я думаю, что это будет применимо и к другим unix-иш-средам.

Ответ №1:

Если stty бит, который вы пробовали, не сработал, вы, вероятно, не сможете.

С помощью индикатора прогресса в стиле bar, если стандартная ошибка является терминалом, запрашивается его ширина, и она используется. (Смотрите determine_screen_width() , utils.c как это делается). Если это не удается, используется жестко заданная ширина 80 ( DEFAULT_SCREEN_WIDTH в progress.c ). Он не проверяет переменные среды или не имеет другого способа для пользователя вручную указать ширину.

Комментарии:

1. Имеет смысл. Большое спасибо!