Мусор в ubuntu - это просто специальный подкаталог под домашней папкой пользователя, который по определению принадлежит этому пользователю. Даже если вы измените права доступа к файлам, пользователь может их изменить и удалить.
Если вы пытаетесь избежать потери данных, гораздо лучшим решением было бы настроить автоматическое резервное копирование - таким образом все, что удалось удалить, может быть восстановлено.
Вы можете создать скрипт со следующим контентом
#!/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 не работает для параметров, которые следуют команде.
Вы можете создать скрипт со следующим контентом
#!/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.
(это просто псевдокод, вроде, так что не ожидайте, что он будет работать !!!) .
Я не уверен, что вы можете использовать для этого псевдоним, но вы можете использовать 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.
Опять же, помните, что мой пример - это просто псевдокод .