Answers:
我建议安装Ruby gem osx-trash。
sudo gem install osx-trash
Usage: trash [OPTIONS] <file> [<file> ...]
       trash [-e | --empty]
       trash [-l | --list]
Specific options:
    -e, --empty                      Empty the trash
    -l, --list                       List items in the trash
    -h, --help                       Show this message
    -v, --version                    Show version
Manipulate to the Finder's trash.
bash: trash: command not found
                    在MacOSX SDK中,有功能FSPathMoveObjectToTrashSync和相关功能。在其周围编写Python(或其他任何东西)脚本应该很容易。
编辑:刚刚编码。可以在这里找到:rm-trash.py。
在查看了替代方案之后,我发现:
因此,我编写了自己的以Nimrod编程语言实现的垃圾命令,因此它速度很快,并且在后台进程中触发了垃圾桶声音。这意味着键入命令并运行它会立即退出,因为它不需要等待声音播放。缺点是您需要先编译nimrod然后再编译该程序(没有二进制对不起!)。
PS:说实话,最好的实现是使用我从Nimrod使用的官方API来实现rmtrash,这是简单的Objective-c。
我今天遇到了同样的问题,并检查了上面给出的rmtrash程序。不幸的是,到目前为止,所有可见的解决方案都将文件移动到主目录的.Trash。
另一方面,Finder会根据文件的文件系统的挂载点将其移动到其他-Trash文件夹中。
因此,我能想到的最简单的解决方案(创建于10.5.8。要在较新版本的OS X上进行测试)是:
osascript -e 'tell application "Finder" to delete POSIX file "'FULL FILENAME HERE'"'
这是我为此创建的shell脚本:
#!/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