Предполагая, что вы используете оконную систему, просто сделайте терминал шире, обычно перетаскивая край или угол. Столбец «КОМАНДА» просто расширяется, чтобы заполнить доступное пространство.
Если вы делаете это на консоли, вероятно, есть утилита, позволяющая сделать консоль «окном» на большем виртуальном экране для достижения той же цели. Это может сделать stty, или просмотреть параметры в screen или tmux.
exec... &!
запускается exec...
в фоновом режиме, а затем закрывается.
Вы также хотели бы решить, куда должны идти команды stdin/stdout/stderr. Вы также хотели бы отсоединить команду от терминала.
xterm -e zsh -c '
set -o pipefail -o errexit
print -rN -- $commands | fzf --read0 --print0 | IFS= read -rd "" cmd
setsid -- "$cmd" <> /dev/null >&0 2>&0'
Здесь мы запускаем $cmd
в новом сеансе, и его ввод-вывод перенаправляется с/на /dev/null
. В идеале вы хотели бы вместо этого указать диспетчеру окон/сеансов запустить команду.