我有一个my_mv.sh
如下所示的包装脚本(我正在使用 bash):
#/bin/bash
function my_mv(){
FILE="${@: -1}" # bash or ksh,zsh
echo $FILE
if [ -f $FILE ];
then
mv -i $@
else
mv $@
fi
}
当我将它作为脚本使用并像 一样直接运行时./my_mv.sh file1 file2
,结果符合预期。但是,当我将函数 my_mv放入~/.bashrc
并获取它时,将出现无限循环。那么这两种方法有什么区别呢?如何更改脚本以便正确获取它?
顺便说一句,当使用 zsh 时,这两种方法的结果相似。