저는 셸 스크립트를 작성하고 Window 명령줄을 사용하여 실행하고 있습니다.
나는 쉘 스크립트를 작성하는 방법을 배우고 있습니다... 마치 첫 번째 장의 절반쯤 다가온 것처럼, 그것이 제가 얼마나 초보자인지 알 수 있습니다.
date
명령만 사용 하면 날짜가 생성됩니다.
내가 사용한다면
echo -n `"I am testing: " date`
그것은 다음을 생산합니다 :
I am testing: date
내가 뭘 잘못했나요?
나는 그것이 생산되기를 원합니다 :
I am testing: Sun June 11 11:30:47
제안?
답변1
echo -n `"I am testing: " date`
as 인수를 사용하여 I am testing:
명령을 실행 date
하고 출력을 수집한 후 주제를 추가 인수로 분할+glob 에 전달하려고 합니다 echo
. 귀하의 시스템에 해당 이름의 명령이 없을 가능성이 높기 때문에 이로 인해 오류가 발생하기를 바랍니다.
아마도 당신은 다음을 원할 것입니다:
printf 'I am testing: %s' "$(date)"
date
우리는 (더 이상 사용되지 않는 명령 대체 대신 현대적인 형태의 명령 대체를 사용하여 ) 전달된 출력을 수집합니다 $(...)
(특히 예를 들어 비표준 옵션이 필요한 경우 대신 사용해야 함).`...`
printf
echo
-n
또는 날짜 형식을 지정할 수 있는 bash
사람을 사용하세요.printf
printf 'I am testing: %(%c)T' -1
( -1
지금을 의미합니다. 에서 ksh93
대신 %(...)T
사용할 수 있습니다 now
.)
줄 구분 기호를 생략하고 싶지 않은 경우( -n
일부 구현 echo
의 경우 ) 다음을 사용할 수 있습니다.
date '+I am testing: %c'
date
날짜를 어떤 형식으로 출력할지 알려줍니다 .
질문에 표시된 형식을 얻으려면 위의 내용 %c
으로 바꾸십시오 .%a %B %d %T
Sun June 11 11:30:47