重定向标准输出和错误输出
>和1>只能将正常信息重定向
2> 只能将错误信息重定向
&>可以将错误信息或者正常信息都重定向输出
如下, ls 1>a.txt,可将ls指令的输出引入a.txt,而不是打印到屏幕;
如下,ls >a.txt同ls 1>a.txt
如下,ls 2>a.txt只能将错误信息重定向到a.txt
如下,ls &>a.txt能将所有信息重定向到a.txt
重定向到/dev/null
例如,ls &>/dev/null 抛弃所有输出;
应用例子:source fileName, 获取fileName的绝对路径:
DirForScriptSelf="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd)"
首先,${BASH_SOURCE[0]}表示fileName的相对路径,
dirname -- "${BASH_SOURCE[0]}"表示fileName所在文件夹的路径;
然后cd到fileName所在文件夹的路径,然后,借助pwd获取fileName所在文件夹的路径。但是, cd指令是由输出的,所以用&> /dev/null抛弃,最后只保留pwd命令的返回值了!
Note: cd -- 中的--可以去掉,没有差别;
Ref:
Linux中的/dev/null:
https://baijiahao.baidu.com/s?id=1730629989727646104&wfr=spider&for=pc
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/405139
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!