다음을 시도하면 문제가 없습니다.
$ date '+%y%m' | sed 's/.\(.*\)/\1/'
906
하지만 변수에 저장하려고 하면 아무것도 저장되지 않는 것 같습니다.
$ dd=`date '+%y%m' | sed 's/.\(.*\)/\1/'`
$ echo "$dd"
다음을 사용하지 않고도 동일한 결과를 얻을 수 있다는 것을 알고 있습니다 sed
.
$ dd=`date '+%y%m'`
$ echo ${dd: -3}
906
그런데 왜 작동하지 않는지 궁금합니다 sed
.
답변1
명령을 변수 이름으로 사용하지 마십시오. dd
디스크 파괴자입니다. 살펴보고 man dd
다른 변수 이름이나 유사한 이름을 사용해 보십시오.
d=`date '+%y%m' | sed 's/.\(.*\)/\1/'`
echo $d
아마도 매뉴얼의 이 부분 bash
도 유용할 것입니다:
man bash | sed -n '/^DEFINITIONS/,/^SHELL GRAMMAR/p' | less