2014-01-30 1 views
4

'쓰레기통'을 발견 한 후, 대부분의 경우 'rm'대신에 그것을 사용하고 싶습니다. 그냥 별칭 나는 그 날 비록 내 설정 파일없이 기계에 너무 안심 할 수 있다면, 그래서 (내 .zshrc에서) 다음과 함께했다 :zsh에서 rm을 확인하시오

작동하는 것 같다
function rm() { 
    local go_ahead 
    read -q "go_ahead?Are you sure you don't want to use rms? (y/n)" 
    echo "" 
    if [[ "$go_ahead" == "y" ]]; then 
     /bin/rm $* 
    fi 
} 
alias rms='trash-put' 

,하지만 난 돈 ' zsh 스크립팅에 대한 많은 경험이 있습니다 ... 제가 원하는 것을 할 수있는 좋은 방법입니까?

감사 피터

+0

unix.stackexchange.com – Munim

+1

에 대한 더 나은 질문 아마도'RM_STAR_SILENT'와'RM_STAR_WAIT' 옵션을 점검하고'setopt rm_star_wait'과'setopt NO_rm_star_silent'를 사용하는 것이 좋습니다. 또한 이것은 (Zsh 스크립팅 경험이 많은 사람들로부터) 더 안전한'rm' 스크립팅에 관한 흥미로운 게시물입니다. http://www.zsh.org/mla/users/2014/msg00114.html – Francisco

+0

이 접근법이 유용하다는 것을 알게되었습니다. 'exec '에게 확인 요청 :-) – SamB

답변

2

글쎄, 왜 단순히 기능과 별칭 및 확인 : 그것은 실행되도록

function rm() { 
    local go_ahead 
    read -q "Are you sure you don't want to use trash-put? [y/N]" 
    echo "" 
    if [[ "$go_ahead" = "y" ]]; then 
     /bin/rm $* 
    else 
     /usr/bin/env trash-put $* 
    fi 
} 

: 그것은 그래서

alias rm="rm -i" 

하거나 당신의 RM 변환을 y을 말하지 않으면 trash-put.

+0

답장을 보내 주셔서 감사합니다.하지만 뭔가를 삭제하고 싶을 때마다 확인하지 않아도됩니다. 그래서 rms 별칭을 지정합니다. – Peter

+0

글쎄, 나는 보통'rm -i'에'rm' 앨리어스를 사용하고, 확인을 원하지 않을 때는'rm -f'을합니다. – zmo

관련 문제