이 기능은 내 사용자의 ~ / .bashrc 중 하나에 있습니다.
function rm()
{
ls $*
echo "rm?"
read ans
if [ "$ans" == 'y' ]; then
/bin/rm $*
fi
}
사용자가 실행 해야하는 ksh 스크립트에는 다음과 같은 줄이 있습니다.
[[ "$KEEP" = "" ]] && \rm $FILE
백 슬래시는 사용자 정의 별명을 이스케이프하지만 스크립트가 동일한 이름으로 사용자 정의 함수를 실행하지 못하게합니다. 결과적으로 시스템 함수 대신 사용자의 rm () 함수가 호출됩니다.
이 수퍼 유저 질문 질문과 응답을 찾았 지만 해결책은 시스템 명령이 아닌 내장 함수에만 적용됩니다.
별칭 또는 함수가 아닌 rm 명령이 호출되지 않도록하는 가장 좋은 방법은 무엇입니까? rm에 대한 전체 경로를 지정해야하며 확인하려는 모든 시스템 명령이 올바르게 실행됩니까? 더 좋은 방법이 있습니까?