尝试删除shell中的文件时出错(语法错误:错误的fd编号)

时间:2015-02-16 23:37:30

标签: linux shell unix

任务: 执行shell脚本时,如果它们存在,则删除这两个文件( Duge.Recenice.IB Kratke.Recenice.IB ),如果没有在文件中保存错误greske

虽然尝试这样做但却说:

语法错误:错误的fd编号:

rm Duge.Recenice.IB>& greske

rm Kratke.Recenice.IB>>& greske

它表示在第二行发生错误时,尝试将错误消息保存到 greske

2 个答案:

答案 0 :(得分:0)

>&正在搞乱文件句柄(通过2>&1执行将stderr重定向到stdout的事情。)

您只想使用这些文件,所以

rm Duge.Recenice.IB > greske
rm Kratke.Recenice.IB >> greske

应该这样做。

答案 1 :(得分:0)

  

rm Duge.Recenice.IB>& greske
  rm Kratke.Recenice.IB>>& greske

据推测,您正在使用bash。根据bash手册,appending standard output and standard error的格式为:

          &>>word

因此,你必须写

rm Kratke.Recenice.IB &>>greske

- 但只考虑

rm Duge.Recenice.IB Kratke.Recenice.IB &>greske