명령어 결과를 변수에 넣으려면...?

sinweb의 이미지

date 라는 명령어의 결과인 현재 시간을 변수에 넣구요..
메일로 보내려고 하는데요...

DATE1= date
.....
$DATE1
....

어떻게 사용해야할지 모르겠습니다..
시간을 변수에 넣던가... 출력하는 방법좀 부탁드립니다...

vigor96의 이미지

DATE1=`date`

키보드에 1 옆에 있는 ` 로 감싸시면 됩니다.

pynoos의 이미지

추가로 rc script 등에서 발견되는 방법은

DATE1=$(date)

와 같은 방법이 있습니다.
마치 Makefile내에서 변수 다루는 것과 비슷해서 기억하기 참 괴롭습니다만...

xfmulder의 이미지

백쿠오트 (역따옴표) 를 권장합니다.

$(명령) 은 /bin/sh (원래 본쉘)에서는 안됨.

DATE1=`/bin/date +'%Y%m%d'`

여기서 ` ` 사이에 나오는 문자들은 오로지 표준출력만 해당됩니다.

표준에러는 변수에 들어가지 않습니다.

(예)
AAA=`/bin/ls -l NO_SUCH_FILE `
NO_SUCH_FILE 이 없는데 실행해 봤자 표준에러는 화면 출력되고
표준출력은 없습니다.

강제로 표준출력으로 바꾸면 되겠지요 ?
AAA=`/bin/ls -l NO_SUCH_FILE 2>&1 `
echo $AAA

내 자식들도 나처럼 !!