Bash时间格式HH:12小时格式AM/PM的MM

AtS*_*im1 3 unix bash shell time date

我试图用这段代码打印AM/PM格式的时间:

 #!/bin/bash
 while [[ $# -gt 0 ]]
  do
  key="$1"


  case $key in
  --AMPM| --ampm)
  while true;
  do
   #Time in AMPM format:
   echo $(date +"%r")
   sleep 1s;
   clear;
done
esac
done
Run Code Online (Sandbox Code Playgroud)

我明白了:HH:MM:SS我想得到这个:HH:MM

我怎样才能改变代码呢?或者为什么它不起作用?

Daw*_*ski 12

格式日期输出:

date +"%I:%M %p"
date +"%I:%M %P"
Run Code Online (Sandbox Code Playgroud)

哪里:

%I     hour (01..12)
%M     minute (00..59)
%p     locale's equivalent of either AM or PM; blank if not known
%P     like %p, but lower case
Run Code Online (Sandbox Code Playgroud)