Я использую этот вид вещи:
mkdir DELETE && mv "some" "paths" DELETE && rm -rf DELETE
Для единственного пути:
mv /some/path DELETE && rm -rf DELETE
Еще лучше введите rm command
на отдельной командной строке: mv /some/path DELETE
Войти rm -rf DELETE
Войти. Тот путь, единственное rm
команда, которая превращает его в Вашу историю оболочки, находится на названном файле DELETE
, таким образом, при удалении старой версии файла Вы не рискуете удалять новую версию путем случайного нажатия Up, который затем Вводит неправильное количество раз.
Если Вы хотите автоматизировать немного:
mv_to_DELETE () {
mkdir DELETE &&
mv -- "$@" DELETE/
}
mv_to_DELETE "some" "paths"
rm -rf DELETE
Что-то как
paths=("some" "paths")
for path in "${paths[@]}"
do
[ -e "$path" ] || exit 1
done
перед каждым rm
команда намного более сложна для новичка и зависит от массивов Bash.
for path in "some" "paths"
do
[ -e "$path" ] || exit 1
done
является более портативным, но означает копировать список путей в цикле и rm
команда. И хранение всех путей в той же строковой переменной означает, что сценарий больше не поддерживает ни одного из IFS
символы в именах файлов.
mktemp
и прерывание, чтобы положить обратно файлы и удалить временный каталог, еслиmv
сбои. – l0b0 10.10.2012, 10:39