Ubuntu 11.04 または 10.04 で、Fedora のように 1 つだけを簡単に使用できるように、 をオールインワンにするにはapt-get
どうすればよいですか?apt-cache
myapt
例えば:
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 である必要はありません。
繰り返しますが、私の例は疑似コード。