Можно использовать:
dpkg -L package-name-goes-here
... иметь список файлов, которые были установлены определенным пакетом. Если Вы просто хотите исполняемые файлы:
for file in `dpkg -L package-name-goes-here`
do
if [ -x $file -a ! -d $file ] # must be executable, but not a directory.
then
echo $file
fi
done
Вот наивно, торопливо записанный сценарий, который делает вышеупомянутое. Использование: exec-files-from-package [package]
.
Это - простое решение, если Вы готовы принять вывод чуть выше текущей быстрой строки.
TRAPUSR1 () { zle -I; unfunction TRAPUSR1 } # invalidate prompt on signal USR1
bufferout () {
local buffer
while read -r line; do # buffer lines from stdin
buffer="$buffer$line\n"
done
print -rn -- $terminfo[dl1] # delete current line
print -rn -- $terminfo[cr] # move cursor to BOL
printf "$buffer" # print buffer
kill -USR1 $$ # send USR1 when we're done
}
unsetopt monitor # don't monitor this job
./testout |& bufferout & disown # bg and disown to suppress notification
setopt monitor # restore job monitoring
Когда задание будет сделано, текущая подсказка и входной буфер будут удалены и полнота команды stdout
и stderr
будет распечатан.
Можно стать намного более необычными, чем это с zsh/curses
модуль, но я сомневаюсь, что он предложил бы преимущество, достаточно значительное для заслуживания усилия.
[1] 27911 27912
в одной строке и как первая строка на терминале. – unode 17.02.2012, 02:51