1
覆盖与系统命令同名的用户定义函数
此功能存在于我的用户的〜/ .bashrc中: function rm() { ls $* echo "rm?" read ans if [ "$ans" == 'y' ]; then /bin/rm $* fi } 在需要用户运行的ksh脚本中,我有这样一行: [[ "$KEEP" = "" ]] && \rm $FILE 虽然反斜杠转义了用户定义的别名,但是它不会阻止脚本运行具有相同名称的用户定义函数。结果,调用了我用户的rm()函数,而不是系统函数。 我发现了这个超级用户的问题和答案,但是解决方案仅适用于内置函数,而不适用于系统命令。 什么是最好的方法来执行rm命令而不是别名或函数?我是否必须指定rm的完整路径,并确保要正确执行的每个系统命令?有没有更好的办法?