Tôi đang gặp vấn đề với chuyển hướng trong tcsh.
Hãy xem xét các lệnh sau: vi --version
và vi --xxx
. Và giả sử điều này là trên một máy có vi
hỗ trợ --version
tùy chọn. Tùy chọn --xxx
này không hợp lệ và do đó vim
sẽ hiển thị nội dung nào đó qua stderr
.
Theo lý do đó, sử dụng 2> /dev/null
với cả hai lệnh này sẽ cung cấp đầu ra cho trường hợp hợp lệ và không có đầu ra nào cho trường hợp không hợp lệ.
Và đó là những gì tôi thấy trong bash, zsh, ksh và dash.
$ vi --xxx 2> /dev/null
$ vi --version 2> /dev/null
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 20 2014 16:09:17)
...
Tuy nhiên, khi tôi thử điều này trong tcsh, nó cho tôi không có đầu ra trong cả hai trường hợp.
$ vi --xxx 2> /dev/null
$ vi --version 2> /dev/null
(there is no output here)
Chuyện gì đang xảy ra ở đây? Tôi đang chuyển hướng stderr
không chính xác?
Đây là đầu ra của tcsh --version
:
tcsh 6.18.01 (Astron) 2012-02-14 (i686-intel-linux) options wide,nls,dl,al,kan,rh,nd,color,filec