답변:
파일을 휴지통으로 옮길 때 OS X은 .DS_Store
파일을 ~/.Trash
"Put back"정보로 업데이트합니다 . (자세한 내용은 이 질문을 참조하십시오 )
이를 업데이트하려면 .DS_Store
파일을 터미널의 휴지통으로 옮길 때 파일 도 업데이트해야 합니다.
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
과 관련이 있습니다. 파이썬 (또는 무엇이든) 스크립트를 작성하는 것이 쉬워야합니다.
편집 : 방금 코딩했습니다. rm-trash.py 에서 찾을 수 있습니다 .
대안을 살펴본 후 나는 그것을 발견했다.
그래서 Nimrod 프로그래밍 언어로 구현 된 내 자신의 휴지통 명령을 작성 했으므로 백그라운드 프로세스에서 휴지통 사운드를 빠르게 트리거합니다. 즉, 명령을 입력하고 실행하면 사운드가 재생 될 때까지 기다릴 필요가 없으므로 즉시 종료됩니다. 단점은 nimrod를 컴파일 한 다음이 프로그램을 컴파일해야한다는 것입니다 (바이너리 죄송합니다!).
추신 : 최선의 구현이 rmtrash의 내가 니므롯에서 사용하고 공식 API를 사용한다는 것 정직하게하려면 일반 목적-C입니다 .
나는 오늘 같은 문제가 있었고 위에서 주어진 rmtrash 프로그램을 확인했다. 불행히도 지금까지 본 모든 솔루션은 파일을 홈 디렉토리의 .Trash로 옮깁니다.
반면에 Finder는 파일 파일 시스템의 마운트 지점에 따라 다른 휴지통 폴더로 폴더를 이동합니다.
따라서 내가 얻을 수있는 가장 쉬운 해결책은 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