bash
фигурные скобки, {}
, перечислит их в порядке:
for file in log{1..164}.gz; do
process "$file"
done
При использовании удара проверьте, активируется ли "checkwinsize" опция в использовании сессии
shopt | grep checkwinsize
Если Вы не добираетесь
checkwinsize on
затем активируйте его
shopt -s checkwinsize
В документации Bash говорится для атрибута "checkwinsize":
"Если установлено, Bash проверяет размер окна после каждой команды и, при необходимости, обновляет значения СТРОК и СТОЛБЦОВ".
Если Вам нравится установка, Вы могли бы активироваться checkwinsize
в Вашем ~/.bashrc
.
shopt -s checkwinsize
shopt -u checkwinsize
Можно попробовать Ctrl+L. Это очищает и/или перерисовывает терминальный экран, в зависимости от программы.
Я просто хотел добавить к тому, что Аркадиен уже упоминал. Обратная связь с обратным сообщением делает трюк, но для меня то, что нужно было сбросить размер окна для него, чтобы работать правильно. Я думаю, что Checkwinsize предназначался, чтобы устранить это, но все же стоит выстрел. Просто попробуйте изменить размер окна или неработающего и максимизации и максимизации его размещения этой опции.
Я не знаю о широко используемых инструментах, написанных ни на одном из этих языков. Node.js не больше зависимости, чем perl или python, хотя, возможно, не так, как обычно устанавливается. Вчера я только что установил узел 0.12 в системе Windows без проблем.
Мой вопрос - почему не C, python, perl, php, awk, bash скрипт или tcl? Все они имеют давнюю историю и широко доступны.
-121--228811- Все слова после -exec
до \;
интерпретируются как параметры, т.е. они расширяются оболочкой, откуда выполняется команда (можно попробовать, что происходит, если существует каталог с именем {}
), но затем интерпретируются как если бы они были процитированы. Вам нужна оболочка, чтобы развернуть глобусы:
find . -type d -exec bash -c 'echo {}/*' \;
При удалении каталогов, после удаления родительского каталога, вы больше не можете удалить его потомков - они исчезли.
-121--121305- У меня была та же проблема, что и у вас, и вот что я сделал:
У меня есть настройка .profile
, поэтому я выполняю все изменения.
Существует пакет с именем xterm
, который доступен через apt-get
Я не знаю о yum
. Но я выполнил локальную установку из источника, так как у меня нет прав на установку. ССЫЛКА: http://invisible-island.net/xterm/#download
./configure --prefix=/the/path/you/want/to/install/to
make
make install
Я экспортировал путь в свой профиль и вызвал его в том же месте
export PATH=$PATH:/the/path/you/want/to/install/to
resize
Поэтому теперь при каждом входе в систему размер терминала устанавливается соответствующим образом путем изменения размера.
У меня была такая же проблема, и ни один из вышеперечисленных рецептов не помог мне, потому что я считаю, что мой bash никогда не получает сигналы SIGWINCH
, которые перехватываются своим родительским процессом.
Наконец-то я нашел решение. Я добавил в свой .bashrc
:
export PROMPT_COMMAND="resize &>/dev/null ; $PROMPT_COMMAND"
Теперь каждый раз, когда я получаю новое приглашение, мое окно заново настраивается.
Спасибо UKmonkey за улучшение PROMPT_COMMAND.
Время от времени я сталкиваюсь с одной и той же проблемой, используя zsh в macOS. Простой вызов команды reset
снова настраивает терминал по моему вкусу.
добавление этих опций в docker exec решило мою проблему
-e COLUMNS=$COLUMNS -e LINES=$LINES -e TERM=$TERM
Что ж, это распространенная проблема, и должно быть простое решение.
Если другие меры, такие как Ctrl + A Ctrl + L, не работают, попробуйте использоватьstty
:
stty -a | grep rows
:Получить количество строк и столбцов. speed 38400 baud; rows 33; columns 133; line = 0;
stty
должен быть другим. speed 38400 baud; rows 47; columns 177; line = 0;
stty rows N
и stty columns N
, где N — «настоящее» число (за пределами экрана ). Пример:$ stty rows 33; stty columns 133
Если вы используете Терминатор , вы можете пропустить первые три шага, потому что он показывает количество столбцов и строк вверху.
Вам не нужно изменять размер окон терминала, чтобы столкнуться с этим. Администраторы обычно входят в систему с разных компьютеров, и когда подключенные мониторы различаются по размеру (разрешению ), развернутое окно будет иметь разный размер на каждом компьютере. На самом деле довольно сложно не часто с этим сталкиваться.
И результат не только в том, что некоторые справочные страницы не отображаются должным образом. Это почти все, что использует пейджер -первые несколько строк часто отсутствуют (например ). И даже не думайте об использовании VIM в таком смещенном терминале. Вы хотите выделить строку 3 (V ), чтобы заменить ее, но когда вы это сделаете, выделенный текст будет текстом другой строки.
, если вы используетеexpect
добавьте это в начало скрипта, будет работать
#let pty slave device aware of WINCH signal
trap {
set rows [stty rows]
set cols [stty columns]
stty rows $rows columns $cols < $spawn_out(slave,name)
} WINCH
более подробная информация и пояснения по адресуhttps://unix.stackexchange.com/a/668254/109036