Janne Pikkarainen의 답변 을 확장하기 위해 주어진 패키지에 대한 changelog.Debian.gz를 읽는 데 사용할 수있는 별칭이 있습니다.
alias changelog="xargs -I% -- zless /usr/share/doc/%/changelog.Debian.gz <<<"
다음과 같이 사용할 수 있습니다.
changelog PACKAGE
그러나 이것은 끔찍한 해킹 솔루션이므로 대부분의 상황에서 권장되지 않습니다. 함수 또는 독립형 스크립트가 훨씬 더 나은 솔루션입니다.
PACKAGE에 대해 사용 가능한 모든 변경 로그를 읽는 함수는 다음과 같습니다.
changelog(){
if (( $# != 1 )); then
echo "Usage: ${FUNCNAME[0]} PACKAGE"
return 1
fi
find -L "/usr/share/doc/$1" -type f -name 'changelog*.gz' -exec zless {} \; 2>/dev/null
}
다음은 PACKAGE에 대해 사용 가능한 모든 변경 로그 목록을 인쇄하고 읽을 항목을 선택하도록 사용자에게 쿼리하는 기능입니다.
changelog(){
if (( $# != 1 )); then
echo "Usage: ${FUNCNAME[0]} PACKAGE"
return 1
fi
local changelog changelogs
readarray -t changelogs < <(find -L "/usr/share/doc/$1" -type f -name 'changelog*.gz' 2>/dev/null)
if (( ${#changelogs[@]} == 0 )); then
return 0
elif (( ${#changelogs[@]} == 1 )); then
zless "${changelogs[0]}"
return $?
fi
select changelog in "${changelogs[@]}" EXIT; do
case $changelog in
'')
echo "ERROR: Invalid selection" >&2
continue
;;
EXIT)
return 0
;;
*)
zless "$changelog"
return $?
;;
esac
done
}
apt-get
설치된 패키지의 변경 사항을 보려면 :apt-get changelog <package>