쉘 명령 행 인수는 $1
(첫 번째), $n
(n 번째) 또는 $*
(모든 인수) 를 통해 액세스 할 수 있으므로 스크립트를 시작해야합니다.
#!/bin/bash
if [ $# -ne 1 ]; then
echo $0: usage: myscript name
exit 1
fi
name=$1
이제 name 인수는 스크립트에서로 액세스 할 수 있습니다 $name
.
타임 스탬프를 얻으려면 date(1)
명령을 사용하고 원하는 형식을 생성하도록 형식 지정자를 지정하십시오.
now=$(date +%Y%m%d%H%M%S)
지금 $now
현재 날짜와 시간이 포함되어 있습니다.
따라서 다음과 같이 로그 파일을 작성할 수 있습니다.
logfile=/path/to/log/file/mylogfile.$now
echo "[$name]=[$now]" >> $logfile
쉘 기능을 사용하여 메시지를 기록하는 것이 더 낫습니다.
function logit
{
now=$(date +%Y%m%d%H%M%S)
echo "$now: $*" >> $logfile
}
쉘 함수는 스크립트와 같은 방식으로 자체 인수에 액세스합니다 $1
.
따라서 초기 스크립트는 다음과 같습니다.
#!/bin/bash
function logit
{
now=$(date +%Y%m%d%H%M%S)
echo "$now: $*" >> $logfile
}
if [ $# -ne 1 ]; then
echo $0: usage: myscript name
exit 1
fi
name=$1
now=$(date +%Y%m%d%H%M%S)
logfile=/path/to/log/file/mylogfile.$now
logit name = $name
(로그 파일은 지정한 정확한 형식이 아니며 각 줄의 시작 부분에 타임 스탬프가있는 것이 좋습니다).
[[ -n "$name" ]]
부분이 무엇을하는지 아는 것이 도움이 될 것 입니다.