Smi*_*ith 22 unix linux bash shell command-line-interface
scriptlist=`ls $directory_/fallback_* 2> /dev/null`
Run Code Online (Sandbox Code Playgroud)
2>命令部分的目的究竟是什么?我省略了它并运行命令,它工作正常.
并且,如果ls的输出存储在/ dev/null文件中,那么变量scriptlist将包含什么.当我执行代码时,输出在变量中,文件中没有任何内容null.如果我们删除2,则输出是文件而不是变量.知道这行代码到底在做什么吗?
Yu *_*Hao 21
文件描述符2表示标准错误.(其他特殊文件描述符包括0标准输入和1标准输出).
2> /dev/null意味着将标准错误重定向到/dev/null./dev/null是一种特殊的设备,可以丢弃写入它的所有内容.
总而言之,这行代码将命令的标准输出存储ls $directory_/fallback_* 2> /dev/null到变量中scriptlist,并且标准错误被丢弃.