2013-10-23 1 views
3

나는 꽤 중요한 질문을 가지고있다. 운, 입력 등을 읽는 cowsay (패키지)의 stegosaurus의 팬이었다. 그래서 자연스럽게이 장엄한 생물에게 나에게 어떤 날을 말해 주느냐가 대단히 중요했다. 그것은 매일입니다. 이것은 리눅스 distrobution에 처음 스크립트 중 하나였다, 그러나쉘 스크립트를 자동화하고 현재 시간을 읽으려면 어떻게해야합니까?

#!/bin/bash 

selection= 
until [ "$selection" = "0" ]; do 
     echo "" 
     echo "PROGRAM MENU" 
     echo "1 - It's Monday!" 
     echo "2 - It's Tuesday!" 
     echo "3 - It's Wednesday!" 
     echo "4 - It's Thursday!" 
     echo "5 - It's Friday!" 
     echo "6 - Custom input" 
     echo "7 - Exit" 
     echo "" 
     echo -n "Enter selection: " 
     read selection 
     echo "" 
     case $selection in 
       1) cowsay -f stegosaurus "It's Monday!" 
       exit ;; 
       2) cowsay -f stegosaurus "It's Tuesday!" 
       exit ;; 
       3) cowsay -f stegosaurus "It's Wednesday!" 
       exit ;; 
       4) cowsay -f stegosaurus "It's Thursday!" 
       exit ;; 
       5) cowsay -f stegosaurus "It's Friday!" 
       exit ;; 
       6) echo -n "custom input > " 
       read custom 
       cowsay -f stegosaurus "$custom" 
       exit ;; 
       7) exit ;; 
       *) cowsay -f stegosaurus "Guess what day it is?" 
       exit ;; 
     esac 
done 

나는 자동으로 현재 날짜로 업데이트하여 내 생성을 향상 할 준비가 : 나는 사용자 입력을 사용하여 그렇게 할 수있는 다음 스크립트를 만든 (어쩌면 내가 할 수있는 시간조차도). 그러나, 나는 이것을 지금까지 할 수 없었습니다. 누구든지 나를 도와 주거나 올바른 방향으로 나를 가리킬 수 있습니까?

대단히 감사드립니다. 사전에 감사드립니다.

+0

난 그냥 내가 cowsay를 설치하고 스테고이 같은 소리를 어떻게들을 수있는이 질문을 즐겨 찾기 해요! – Shahbaz

+0

@Shahbaz 영광입니다. 그것은 모자를 쓰고있는 스테고 사우루스 (stegosaurus)가 당신의 평생을 기다리고있는 사소한 텍스트를 읽도록해야한다는 깊은 필요를 충족시킵니다. :) – ArnoldM904

+0

'man date' 읽어보기 –

답변

4
cowsay -f stegosaurus "It's $(date +%A)" 

시간을 포맷하는 방법에 대한 자세한 예제는 GNU date documentation을 확인하십시오. 예 :

cowsay -f stegosaurus "It's $(date +%A) and the time is $(date +%r)" 
1

내가 바꿀 생각 :

read selection 

을 ... 함께 :

selection=`date +'%u'` 

date 유틸리티 인 +'FORMAT' 인수와 함께, 다양한 날짜 요소/형식을 출력합니다. %u 서식 기호는

요일 (1..7)로 변환됩니다. 이것은 또한 *)의 시나리오는 더 이상 적용되지 않음을 의미 염두에 http://linux.about.com/od/commands/l/blcmdl1_date.htm

곰 : 1 전체 문서가 여기에 월요일

나타냅니다.

참고 : 다른 답변 - "It's $(date +%A)" -은 출력이 단순히 "요일입니다!"로하고 싶다면 완벽합니다. - 특정 요일에 대한 맞춤식 처리를 유지하려는 경우에만이 대답을 사용하십시오.

+0

굉장한 대답, 고마워요! – ArnoldM904

1

시도 date 명령 :

$ date +%A 
Wednesday 
관련 문제