У меня была та же проблема сегодня, и я проверил также программу rmtrash, приведенную выше. К сожалению, все найденные решения перемещают файлы в .Trash домашнего каталога.
С другой стороны, Finder перемещает его в разные папки -Trash в зависимости от точки монтирования файловой системы файла.
Поэтому самое простое решение, которое я могу придумать (создано на 10.5.8. Для тестирования на более новых версиях OS X), это:
osascript -e 'tell application "Finder" to delete POSIX file "'FULL FILENAME HERE'"'
Вот сценарий оболочки, который я создал для него:
#!/bin/bash
declare -a files
for f in "$@" ; do
if [ -r "$f" ] ; then
case "$f" in
/*) ;;
*) f="$( pwd )/$f" ;;
esac
files=("${files[@]}" "$f")
else
echo "Can't find '$f'" >&2
fi
done
if [ ${#files[@]} -gt 0 ] ; then
osascript -e '
on run argv
repeat with f in argv
set x to (POSIX file f) as string
tell application "Finder" to delete x
end
end
' "${files[@]}" > /dev/null
fi