В Ubuntu 11.04 или 10.04 как я могу сделать apt-get
, apt-cache
все в одном myapt
, чтобы я мог просто использовать только один, как в Fedora?
Например: 115]
myapt search yum # same as apt-cache search
myapt remove yum # same as apt-get remove
myapt install yum # same as apt-get install
Есть идеи, как сделать псевдоним для этого?
Вы можете создать скрипт со следующим содержанием
#!/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 не работает для опции, следующие за командой.
Я не уверен, что вы можете использовать псевдоним для этого, но вы можете использовать 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.
Опять же, помните, мой пример - просто псевдокод .