ksh echo to stderr для конкретных операторов - PullRequest
2 голосов
/ 06 декабря 2010

У меня есть следующий сценарий оболочки, который выводит вывод в журнал и ошибки в err_file.Тем не менее, я специально хочу повторить некоторые утверждения в stderr.Пожалуйста, помогите

#!/bin/ksh
echo "paramPassed: $0 $#" 

err_file="error_file.txt"
new_file="new_file.txt"

exec >> ${new_file}
#exec >> ${new_file} 2>${err_file}
#exec >> ${new_file} 2>&1

if [ $# -eq 1 ]; then
    username=$1
fi  

userInfo=$(paramInfo ${username} | awk -F: '{print $2}')
echo ${userInfo} 

rcp ${err_file} mtvst32:/rcs/ver34/${err_file}

if [ $? -ne 0 ]; then
        #This doesn't work. Need the following to go to console
        echo "UserInfo.SH FAILED copy to mtvst32" >> &2; 
fi  

Я хочу отправить вывод последнего, если условие в std err, однако, не могу понять, как это сделать.

1 Ответ

8 голосов
/ 06 декабря 2010

Я подозреваю, что вы получаете сообщение об ошибке.Было бы полезно, если бы вы опубликовали это.Однако это, вероятно, решит вашу проблему:

echo "UserInfo.SH FAILED copy to mtvst32" >&2

Удалите пробел и один из >.

...