Если Ваша ОС (неуказанный в o/p) не поддерживает трассировку процесса, рассматривает замену дочернего изображения с оберткой, предполагая, что новый процесс загружает новое изображение.
Нажмите Ctrl-Alt-e с командой, используя записанные псевдонимы (готовые к запуску), и Bash развернет ее . Ctrl-Alt-e - привязка по умолчанию для команды readline shell-expand-line
.
Каждый раз, когда вы нажимаете Ctrl-Alt-e Bash расширяет один слой псевдонима, нажимайте его несколько раз, пока ваша команда не расширится настолько, насколько вам нужно.
Если ваша Мета клавиша не Alt , замените ее или нажмите Escape Ctrl-e .
Существует также функция alias-expand-line
, которая по умолчанию не привязана, а только расширяет псевдонимы.
Я отправил аналогичный вопрос на StackOverflow (, вероятно, следовало разместить здесь, посвященный Unix и Linux ).
Мое решение состояло в том, чтобы написать функцию bash:
xtrace() {
local eval_cmd
printf -v eval_cmd '%q' "${@}"
{ set -x
eval "${eval_cmd}"
} 2>&1 | grep '^++'
return "${PIPESTATUS[0]}"
}
Итак, xtrace u
выведет что-то вроде:
++ apt-get update
++ apt-get upgrade -y --show-progress
++ apt-get autoremove -y
++ apt-get check
++ apt-get autoclean
Имейте в виду, что это на самом деле выполняет любой псевдоним, который вы ему передаете, поэтому, если вы не хотите выполнять u
, тогда лучше использовать решение @MichaelHomer. Кроме того, из-за вашей цепочки &&
, если какая-либо из команд в вашем псевдониме не возвращает 0, выполнение остановится, и вы увидите только расширенные псевдонимы до этой точки.