ls上的异常处理

时间:2017-04-30 06:38:06

标签: bash shell error-handling ls

我想对ls命令进行异常处理。

这是我的代码:

ls -l -S "$@" || echo "contains error options"

然而,当我运行脚本时,代码的输出将返回标准的ls错误消息和echo部分,如./test.sh -dsflwljrew(我希望它获取错误消息)

我希望脚本只在参数有无效ls选项时打印echo部分。 我怎样才能改善这个?

2 个答案:

答案 0 :(得分:0)

nvm ...我通过使用2> / dev / null重定向错误消息找到了解决方案。

ls -l -S "$@" 2>/dev/null || echo "contains error options"

这将打印:

contains error options

答案 1 :(得分:0)

你可以做

 ls -l -S "$@" 2>/dev/null || echo "contains error options"

顺便说一下,如果脚本参数不应该是ls选项,那么执行

ls -l -S -- "$@" 2>/dev/null || echo "contains error options"

不完全确定你在这里想要完成什么