bashrc中定义的函数不起作用

时间:2017-02-04 14:28:18

标签: bash function shell

我试图通过bash会话提供以下功能,因此我将其添加到.bashrc

function del () { mkdir -p ~/.trash; mv "$1" ~/.trash; }

这在shell脚本中运行良好,但是当我从终端调用.bashrc版本时,例如:

$ del test.txt

我总是这样:

  

bash:意外标记`test.txt'

附近的语法错误

我每次更改文件时都在执行source ~/.bashrc,我已经尝试过不同的函数编写方法,它有什么问题?它适用于.sh文件,因此可能需要.bashrc的特殊语法?

修改

事实证明,即使在再次采购.bashrc之后,该会话也保留了一个具有相同名称的旧别名。 type del帮助我检测到它。运行unalias del或开始新会话解决了问题。

1 个答案:

答案 0 :(得分:0)

从OP推荐的结束段开始:

  

事实证明,该会话保留了一个名称相同的旧别名   在再次采购.bashrc之后。类型del帮助我检测到它。运行   unalias del或开始新会话解决了这个问题。

(此答案仅用于将此Q保留在未答复的类别之外。)