아래 기능이 있습니다. 호출하면 stdout은 echo 문만 표시합니다. 분명히 함수가 성공적으로 호출되고 있습니다. 왜 stdout, stderr 또는 로그 파일로 인수를 읽지 않습니까?
#!/bin/bash
function logit() {
LOGLEVEL=$1
TAG=$2
PID=$3
shift 3
local MSG=$@
logger -t $TAG -p $LOGLEVEL -i $PID $MSG
}
logit crit randomly $$ this is a log
예상 : 값에 대한 LOGLEVEL, TAG, PID, MSG어딘가 출력한다. 왜 그렇지 않습니까? 어 Where 어?
$ uname -a
Darwin MacBook-Pro.local 15.6.0 Darwin Kernel Version 15.6.0: Wed May 2 21:04:22 PDT 2018; root:xnu-3248.73.10~1/RELEASE_X86_64 x86_64
@JakeG 내 질문은 "이 로그가 어디에 저장되어 있어야합니까?이 함수 대신"로거 "를 사용한다고 가정하고이 함수를 사용하여 로그를 저장하려면 어떻게해야합니까?
—
Sam Dillard
man logger시스템 로그에 저장한다고 알려줍니다. (그림 참조 system.log)이 스크립트와 관련된 내용은 없습니다
@JakeGould 사용하도록 편집했습니다
—
Sam Dillard 2016 년
logger. 혼란에 대해 죄송합니다.
LOGLEVEL=$1단순히 변수에 할당됩니다. 따라서보고LOGLEVEL싶다면을 입력하십시오echo $LOGLEVEL. 이것이 당신이 기대하는 것이 아닙니까?