방금 매분 실행되는 작은 쉘 스크립트를 만들었습니다.
무슨 일이 일어났는지 그것이 나를 압도하기 시작했습니다 mail
.
$ crontab -l
* * * * * /home/user/bin/test 2>&1 >/dev/null
리디렉션을 다음으로 변경한 >/dev/null 2>&1
다음 중지되었습니다.
나는 적어도 껍질 속에서는 동등하다고 생각했고... 이제 나는 망설인다. 그들은 (동등한가 2>&1 >/dev/null
) ? >/dev/null 2>&1
이것이 바로 CRON이 프로그래밍된 방식인가요?
답변1
이 두 명령은 동일하지 않습니다.
1>stdout filename
command
~ 사이 여야 합니다 .2>&1
$ command 1> stdoutput_filename 2>&1
2>
=> stderr를 리디렉션하고 &1
=>는 를 의미합니다 stdoutput_filename
.
$ command 2>&1 > /dev/null => &1 does not mean /dev/null
예
$ ls issue issue.net nofile 2>&1 > /tmp/testfile
ls: cannot access nofile: No such file or directory
$ cat /tmp/testfile
issue
issue.net
$ ls issue issue.net nofile 1> /tmp/testfile 2>&1
$ cat /tmp/testfile
ls: cannot access nofile: No such file or directory
issue
issue.net