Различия в порядке stderr и stdout порождают проблему - PullRequest
0 голосов
/ 20 октября 2018

В AIX, когда я пишу такой скрипт (test.sch):

#!/bin/ksh
echo "testing" 2>./r1.log 1>./r2.log
exit 0

Если я выполняю:

sh -x test.sch

Ответ:

cat r1.log
1> ./r2.log
cat r2.log
testing

Почему r1.log является частью команды?

Но если я изменю порядок в оболочке:

#!/bin/ksh
echo "testing" 1>./r2.log 2>./r1.log
exit 0

Файл r1.log пуст.

cat r1.log
cat r2.log
testing

Этот код на другом сервере работает нормально.Какую конфигурацию мне нужно исправить, чтобы она работала?

Сводка

Не могу опустить флаг -x, потому что я использую control-m (здесь используется -x).Но я понимаю, что ошибка происходит на разных серверах AIX.Я думаю, что нет решения, кроме как изменить порядок вывода.Спасибо за ваши комментарии !!!!

...