在 Ubuntu 11.04 或 10.04 中,如何將apt-get
,apt-cache
全部合一,myapt
以便我可以像在 Fedora 中一樣只使用一個?
例如:
myapt search yum # same as apt-cache search
myapt remove yum # same as apt-get remove
myapt install yum # same as apt-get install
知道如何為此做別名嗎?
答案1
您可以建立一個包含以下內容的腳本
#!/bin/bash
command="$1"; shift
case $command in
add|depends|dotty|dump|dumpavail|gencaches|madison|pkgnames|policy|rdepends|search|show|showpkg|showsrc|stats|unmet|xvcg)
apt-cache "$command" "$@"
;;
autoclean|autoremove|build-dep|check|clean|dist-upgrade|dselect-upgrade|install|purge|remove|source|update|upgrade)
apt-get "$command" "$@"
;;
esac
假設你調用它myapt
。然後,為了仍然享有 bash 完成的好處,您需要將以下行添加到~/.bashrc
:
_myapt() {
_apt_get
tt=("${COMPREPLY[@]}")
_apt_cache
COMPREPLY+=("${tt[@]}")
return 0
} &&
complete -F _myapt $filenames myapt
不幸的是,$command
應該在任何選項之前,但似乎 bash 補全不適用於命令後面的選項。
答案2
我不確定您是否可以使用別名,但您可以使用 bash 建立腳本。
現在我不是 bash 腳本編寫者,所以我無法告訴你實現這一點的確切程式碼,但你可以做的是(這只是偽代碼,所以不要指望它能工作!!!):
var action
var input
get action, input
if action == search
then do apt-cache search input
if action == remove
then do apt-get remove input
if action == install
then do apt-get install input
請記住,您可以使用您熟悉的任何語言(例如 python 或 ruby)編寫腳本(甚至是編譯的應用程式),而不必是 bash。
再一次,記住我的例子只是虛擬程式碼。