расширение псевдонимов перед вызовом /usr/bin/time

Я тоже пробовал Wayland и, наконец, снова переключился на xorg, только из-за проблем с тачпадом / мышью. Боюсь, что xorg по-прежнему может быть лучшим решением. Libinput просто не обеспечивает много возможностей для калибровки тачпада / мыши. Это плохо для ноутбуков на Wayland ...

Хотя, возможно, это не поможет, вот некоторая информация о libinput.

Чтобы переключиться на xorg в Gnome 3, вы можете нажать на кнопку с изображением шестеренки и выбрать «gnome on xorg», когда вы находитесь на экране входа в систему.

Вот еще информация о том, как откалибровать синаптики на xorg

5
23.05.2017, 15:40
2 ответа

Вы можете определить псевдоним для / usr / bin / time как:

alias 'ubtime=/usr/bin/time '

Или

alias 'ubtime=command time '

, если вы этого не сделаете хотите жестко запрограммировать путь к исполняемому файлу time .

Уловка заключается в завершающем пробеле в определении псевдонима, который сообщает оболочке, что псевдонимы должны быть заменены после этого псевдонима, чтобы

ubtime ll

фактически был расширен до

/usr/bin/time ls -l

(при условии, что ll является псевдоним ls -l ).

В любом случае, / usr / bin / time является автономным исполняемым файлом, он не может синхронизировать конвейеры, составные команды, функции или встроенные функции оболочки, поэтому он не может синхронизировать развертывание произвольных псевдонимов.

Если причина использования / usr / bin / time заключается в том, что вы предпочитаете его формат вывода по умолчанию, а не формат для клавиатуры time , обратите внимание, что во многих оболочках формат могут быть изменены. Например, в zsh :

$ TIMEFMT=$'\e[31;1m%J\e[m: U:%U S:%S (%*E total) [avgtext:%X avgdata:%D maxmem:%M]'
$ time ls -l | head -n1
total 288072444
ls -l: U:0.00s S:0.01s (0.017 total) [avgtext:0 avgdata:0 maxmem:3]
head -n1: U:0.00s S:0.00s (0.015 total) [avgtext:0 avgdata:0 maxmem:3]

( \ e [31; m для цветных (полужирный красный) вывод).

2
27.01.2020, 20:42

Это может работать в bash:

/usr/bin/time  $(alias "ll" | sed "s/^alias [^=]*='\(.*\)'/\1/")

, но еще не полностью безопасно для произвольных псевдонимов, касающихся пробелов, экранированных символов, вложенных псевдонимов и функций и т. Д.

Я полагаю, что не может быть некрасивого решения. Вот почему у снарядов есть встроенное время . Даже если бы расширение псевдонима было бы проще, следующей проблемой было бы время выполнения функций. Обратите внимание, что псевдонимы могут даже использовать функции оболочки.

Если ваши псевдонимы определены в файлах конфигурации bash и если вам не важны временные накладные расходы, вы можете попробовать

/usr/bin/time bash -l -i -c "ll"
0
27.01.2020, 20:42

Теги

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