উত্তর:
আপনার প্রয়োজনের বিষয়ে আমি নিশ্চিত নই beep
, আপনার যদি যা চান সমস্ত স্টপওয়াচ হয় তবে আপনি এটি করতে পারেন:
while true; do echo -ne "`date`\r"; done
এটি আপনাকে রিয়েলটাইমে পাস হওয়া সেকেন্ডগুলি দেখাবে এবং আপনি এটি Ctrl+ সহ বন্ধ করতে পারবেন C। আপনার যদি আরও বৃহত্তর নির্ভুলতার প্রয়োজন হয় তবে আপনি এটি ন্যানোসেকেন্ডগুলি দিতে ব্যবহার করতে পারেন:
while true; do echo -ne "`date +%H:%M:%S:%N`\r"; done
অবশেষে, আপনি যদি সত্যিই সত্যিই "স্টপ ওয়াচ ফর্ম্যাট" চান, যেখানে সবকিছু 0 থেকে শুরু হয় এবং বাড়তে শুরু করে, আপনি এরকম কিছু করতে পারেন:
date1=`date +%s`; while true; do
echo -ne "$(date -u --date @$((`date +%s` - $date1)) +%H:%M:%S)\r";
done
একটি কাউন্টডাউন টাইমারের জন্য (যা আপনার মূল প্রশ্নটি জিজ্ঞাসা করে না) আপনি এটি করতে পারেন (সে অনুযায়ী সেকেন্ড পরিবর্তন করুন):
seconds=20; date1=$((`date +%s` + $seconds));
while [ "$date1" -ge `date +%s` ]; do
echo -ne "$(date -u --date @$(($date1 - `date +%s` )) +%H:%M:%S)\r";
done
আপনি এটিকে ব্যাশ (বা যে কোনও শেল আপনি পছন্দ করুন) ফাংশন ব্যবহার করে সাধারণ কমান্ডগুলিতে একত্রিত করতে পারেন। ব্যাশে, আপনার এই লাইনগুলি যুক্ত করুন ~/.bashrc
( sleep 0.1
প্রতিটি রানের মধ্যে সিস্টেমটি এক সেকেন্ডের 1/10 তম অপেক্ষা করবে যাতে আপনি নিজের সিপিইউ স্প্যাম না করেন):
function countdown(){
date1=$((`date +%s` + $1));
while [ "$date1" -ge `date +%s` ]; do
echo -ne "$(date -u --date @$(($date1 - `date +%s`)) +%H:%M:%S)\r";
sleep 0.1
done
}
function stopwatch(){
date1=`date +%s`;
while true; do
echo -ne "$(date -u --date @$((`date +%s` - $date1)) +%H:%M:%S)\r";
sleep 0.1
done
}
তারপরে আপনি চালিয়ে এক মিনিটের একটি কাউন্টডাউন টাইমার শুরু করতে পারেন:
countdown 60
আপনি এর সাথে দুই ঘন্টা গণনা করতে পারেন:
countdown $((2*60*60))
বা একটি পুরো দিন ব্যবহার করে:
countdown $((24*60*60))
এবং স্টপওয়াচটি চালিয়ে শুরু করুন:
stopwatch
আপনার যদি দিনের পাশাপাশি ঘন্টা, মিনিট এবং সেকেন্ড মোকাবেলা করতে সক্ষম হতে হয় তবে আপনি এরকম কিছু করতে পারেন:
countdown(){
date1=$((`date +%s` + $1));
while [ "$date1" -ge `date +%s` ]; do
## Is this more than 24h away?
days=$(($(($(( $date1 - $(date +%s))) * 1 ))/86400))
echo -ne "$days day(s) and $(date -u --date @$(($date1 - `date +%s`)) +%H:%M:%S)\r";
sleep 0.1
done
}
stopwatch(){
date1=`date +%s`;
while true; do
days=$(( $(($(date +%s) - date1)) / 86400 ))
echo -ne "$days day(s) and $(date -u --date @$((`date +%s` - $date1)) +%H:%M:%S)\r";
sleep 0.1
done
}
মনে রাখবেন যে stopwatch
ফাংশনটি কয়েকদিন পরীক্ষা করা হয়নি কারণ আমি সত্যিই এটির জন্য 24 ঘন্টা অপেক্ষা করতে চাইনি। এটি কাজ করা উচিত তবে দয়া করে আমাকে জানাবেন যদি এটি না হয়।
.zshrc
আপনার উত্তরটি পড়ার পরে আমি আমার ডানদিকে এই দুর্দান্ত ফাংশনগুলি যুক্ত করেছি । আজ আমি countdown
প্রথমবার ব্যবহার করেছি এবং এর পরিবর্তে উচ্চতর সিপিইউ ব্যবহার লক্ষ্য করেছি। আমি একটি যুক্ত করেছি sleep 0.1
(আমি জানি না যে সমস্ত সিস্টেমে ভগ্নাংশ দ্বিতীয়ের ঘুমের সময় সমর্থনযোগ্য কিনা) যা এতে অনেক উন্নতি হয়েছে। অপূর্ণতা অবশ্যই কম সঠিক ডিসপ্লে নির্ভুলতা, তবে আমি সর্বোচ্চের বিচ্যুতি নিয়ে বাঁচতে পারি। 100 মিঃসে।
bash
, আমি সঙ্গে বসবাস করতে পারেন (যদিও এটা হয় বেশী আমি আশা এবং আমি আমার নিজের .bashrc করার ঘুম যোগ করেছিলেন)।
date +%s
- $ তারিখ 1)) +% এইচ:% এম:% এস) ";
echo -ne "$(date -ju -f %s $(($date1 -
তারিখ +% s )) +%H:%M:%S)\r"
;
play -q -n synth 2 pluck C5
।
আমার প্রিয় উপায়টি হ'ল:
শুরু করুন:
time cat
বন্ধ করুন:
ctrl+c
@ Wjandrea নীচে মন্তব্য হিসাবে, অন্য সংস্করণ চালানো হয়:
time read
এবং Enter
থামাতে টিপুন
time read
time read
zsh এ ব্যর্থ হয়, কিন্তু time (read)
কাজ করে।
আমি একই জিনিসটির সন্ধান করছিলাম এবং পাইথনে আরও বিস্তৃত কিছু লেখা শেষ করেছি:
এটি আপনাকে একটি সাধারণ 10 সেকেন্ডের গণনা দেবে:
sudo pip install termdown
termdown 10
আমি এটি ব্যবহার করেছি:
countdown()
(
IFS=:
set -- $*
secs=$(( ${1#0} * 3600 + ${2#0} * 60 + ${3#0} ))
while [ $secs -gt 0 ]
do
sleep 1 &
printf "\r%02d:%02d:%02d" $((secs/3600)) $(( (secs/60)%60)) $((secs%60))
secs=$(( $secs - 1 ))
wait
done
echo
)
উদাহরণ:
countdown "00:07:55"
এখানে একটি উত্স ।
sh-3.2# man leave
15 মিনিটের জন্য একটি টাইমার সেট করুন
sh-3.2# leave +0015
Alarm set for Thu Nov 3 14:19:31 CDT 2016. (pid 94317)
sh-3.2#
সম্পাদনা: আমার বেশ কয়েকটি লিঙ্ক খোলা ছিল এবং আমি ভেবেছিলাম এটি অসক্সের সাথে নির্দিষ্ট, এটি সম্পর্কে দুঃখিত। আমার উত্তর ছেড়ে দেওয়া যাতে অন্যরা বিএসডি ছেড়ে যাওয়ার বিষয়ে সচেতন হয়।
এটি একশো সেকেন্ডের দ্বিতীয় সহ স্টপওয়াচের জন্য:
#!/usr/bin/awk -f
function z() {
getline < "/proc/uptime"
close("/proc/uptime")
return $0
}
BEGIN {
x = z()
while (1) {
y = z()
printf "%02d:%05.2f\r", (y - x) / 60, (y - x) % 60
}
}
return $1
আমি খুব ভাল টেরডনের উত্তরকে একত্রিত করেছি যা একই সাথে শুরু থেকে সময় এবং শেষ পর্যন্ত সময় প্রদর্শন করে। এছাড়াও তিনটি রূপ রয়েছে যাতে এটি কল করা সহজ হয় (আপনাকে বাশ গণিত করতে হবে না), এবং এটি বিমূর্তও রয়েছে। ব্যবহারের উদাহরণ :
{ ~ } » time_minutes 15
Counting to 15 minutes
Start at 11:55:34 Will finish at 12:10:34
Since start: 00:00:08 Till end: 00:14:51
ওয়ার্ক টাইমার এর মতো কিছু:
{ ~ } » time_hours 8
Counting to 8 hours
Start at 11:59:35 Will finish at 19:59:35
Since start: 00:32:41 Till end: 07:27:19
এবং আপনার যদি কিছু খুব নির্দিষ্ট সময় প্রয়োজন হয়:
{ ~ } » time_flexible 3:23:00
Counting to 3:23:00 hours
Start at 12:35:11 Will finish at 15:58:11
Since start: 00:00:14 Till end: 03:22:46
আপনার .bashrc এ দেওয়ার জন্য কোডটি এখানে
function time_func()
{
date2=$((`date +%s` + $1));
date1=`date +%s`;
date_finish="$(date --date @$(($date2)) +%T )"
echo "Start at `date +%T` Will finish at $date_finish"
while [ "$date2" -ne `date +%s` ]; do
echo -ne " Since start: $(date -u --date @$((`date +%s` - $date1)) +%H:%M:%S) Till end: $(date -u --date @$(($date2 - `date +%s`)) +%H:%M:%S)\r";
sleep 1
done
printf "\nTimer finished!\n"
play_sound ~/finished.wav
}
function time_seconds()
{
echo "Counting to $1 seconds"
time_func $1
}
function time_minutes()
{
echo "Counting to $1 minutes"
time_func $1*60
}
function time_hours()
{
echo "Counting to $1 hours"
time_func $1*60*60
}
function time_flexible() # accepts flexible input hh:mm:ss
{
echo "Counting to $1"
secs=$(time2seconds $1)
time_func $secs
}
function play_sound() # adjust to your system
{
cat $1 > /dev/dsp
}
function time2seconds() # changes hh:mm:ss to seconds, found on some other stack answer
{
a=( ${1//:/ })
echo $((${a[0]}*3600+${a[1]}*60+${a[2]}))
}
কিছু পথ সঙ্গে এই একত্রিত শব্দ বাজানো লিনাক্স টার্মিনাল (ইন খেলা MP3 বা WAV ফাইল লিনাক্স কম্যান্ড লাইনের মাধ্যমে ) অথবা cygwin ( cat /path/foo.wav > /dev/dsp
babun / Win7 আমার জন্য কাজ করে) এবং আপনি একটি আছে বিপদাশঙ্কা সঙ্গে সহজ নমনীয় টাইমার !
অন্য পদ্ধতির
countdown=60 now=$(date +%s) watch -tpn1 echo '$((now-$(date +%s)+countdown))'
ম্যাকের জন্য:
countdown=60 now=$(date +%s) watch -tn1 echo '$((now-$(date +%s)+countdown))'
#no p option on mac for watch
যদি শূন্যকে হিট করে কেউ যদি সিগন্যাল চায় তবে এটি উদাহরণস্বরূপ একটি কমান্ড দিয়ে এটি তৈরি করতে পারে যা শূন্যে নন-শূন্য প্রস্থান স্থিতি ফিরে আসে এবং এটি watch -b
বা অন্য কোনওটির সাথে একত্রিত করে , তবে যদি কেউ আরও বিস্তৃত স্ক্রিপ্ট তৈরি করতে চায় তবে এটি সম্ভবত যাওয়ার উপায় নয়; এটি একটি "দ্রুত এবং নোংরা ওয়ান-লাইনার" ধরণের সমাধান বেশি।
আমি watch
সাধারণভাবে প্রোগ্রাম পছন্দ করি । আমি ইতিমধ্যে এটি দেখেছি আমি ইতিমধ্যে while sleep 5; do
বিভিন্ন প্রভাবগুলিতে অসংখ্য লুপ লিখেছি । watch
বুদ্ধিমানভাবে ভাল ছিল।
আমি আমার নিজের শেল স্ক্রিপ্টটি লিখে শেষ করেছি: গিথুব গিস্ট
#!/bin/sh
# script to create timer in terminal
# Jason Atwood
# 2013/6/22
# start up
echo "starting timer script ..."
sleep 1 # seconds
# get input from user
read -p "Timer for how many minutes?" -e DURATION
DURATION=$(( $DURATION*60 )) # convert minutes to seconds
# get start time
START=$(date +%s)
# infinite loop
while [ -1 ]; do
clear # clear window
# do math
NOW=$(date +%s) # get time now in seconds
DIF=$(( $NOW-$START )) # compute diff in seconds
ELAPSE=$(( $DURATION-$DIF )) # compute elapsed time in seconds
MINS=$(( $ELAPSE/60 )) # convert to minutes... (dumps remainder from division)
SECS=$(( $ELAPSE - ($MINS*60) )) # ... and seconds
# conditional
if [ $MINS == 0 ] && [ $SECS == 0 ] # if mins = 0 and secs = 0 (i.e. if time expired)
then # blink screen
for i in `seq 1 180`; # for i = 1:180 (i.e. 180 seconds)
do
clear # flash on
setterm -term linux -back red -fore white # use setterm to change background color
echo "00:00 " # extra tabs for visibiltiy
sleep 0.5
clear # flash off
setterm -term linux -default # clear setterm changes from above
echo "00:00" # (i.e. go back to white text on black background)
sleep 0.5
done # end for loop
break # end script
else # else, time is not expired
echo "$MINS:$SECS" # display time
sleep 1 # sleep 1 second
fi # end if
done # end while loop
আমি অবাক হয়েছি যে কেউ sleepenh
তাদের স্ক্রিপ্টগুলিতে এই সরঞ্জামটি ব্যবহার করেন নি । পরিবর্তে, প্রস্তাবিত সমাধানগুলি হয় sleep 1
পরবর্তী টাইমার আউটপুটগুলির মধ্যে একটি ব্যস্ত লুপ ব্যবহার করে যা যত দ্রুত সম্ভব আউটপুট দেয় uts পূর্বেরটি অপর্যাপ্ত কারণ মুদ্রণটি ব্যয় করার জন্য অল্প সময় ব্যয় করার কারণে আউটপুট আসলে প্রতি সেকেন্ডে একবার হবে না তবে যা সাবঅপটিমাল তার চেয়ে কিছুটা কম হবে। পর্যাপ্ত সময় পার হওয়ার পরে, কাউন্টারটি দ্বিতীয়টি এড়িয়ে যাবে। পরবর্তীটি অপর্যাপ্ত কারণ এটি কোনও উপযুক্ত কারণে সিপিইউকে ব্যস্ত রাখে।
আমার $PATH
চেহারাতে যে সরঞ্জামটি রয়েছে তা এর মতো:
#!/bin/sh
if [ $# -eq 0 ]; then
TIMESTAMP=$(sleepenh 0)
before=$(date +%s)
while true; do
diff=$(($(date +%s) - before))
printf "%02d:%02d:%02d\r" $((diff/3600)) $(((diff%3600)/60)) $((diff%60))
TIMESTAMP=$(sleepenh $TIMESTAMP 1.0);
done
exit 1 # this should never be reached
fi
echo "counting up to $@"
"$0" &
counterpid=$!
trap "exit" INT TERM
trap "kill 0" EXIT
sleep "$@"
kill $counterpid
স্ক্রিপ্টটি হয় স্টপ ওয়াচ (ব্যাঘাত না হওয়া পর্যন্ত গণনা) বা নির্দিষ্ট সময়ের জন্য চলমান টাইমার হিসাবে ব্যবহার করা যেতে পারে। যেহেতু sleep
কমান্ডটি ব্যবহার করা হয়েছে, এই স্ক্রিপ্টটি আপনার sleep
অনুমতি অনুসারে একই নির্ভুলতায় গণনা করার সময়কাল নির্দিষ্ট করতে অনুমতি দেয়। ডেবিয়ান এবং ডেরিভেটিভগুলিতে, এর মধ্যে উপ-দ্বিতীয় ঘুম এবং সময় উল্লেখ করার জন্য একটি দুর্দান্ত মানব-পঠনযোগ্য উপায় অন্তর্ভুক্ত রয়েছে। সুতরাং উদাহরণস্বরূপ আপনি বলতে পারেন:
$ time countdown 2m 4.6s
countdown 2m 4.6s 0.00s user 0.00s system 0% cpu 2:04.60 total
এবং আপনি দেখতে পাচ্ছেন, কমান্ডটি ঠিক 2 মিনিট 4.6 সেকেন্ডের জন্য স্ক্রিপ্টে খুব বেশি যাদু ছাড়াই চলেছিল।
সম্পাদনা :
স্লিপেনহ হাতিয়ারটি ডেবিয়ান এবং উবুন্টুর মতো এর ডেরাইভেটিভগুলির একই নামের প্যাকেজ থেকে আসে। যেগুলি বিতরণ নেই এটির জন্য এটি https://github.com/nsc-deb/sleepenh থেকে আসে
স্লিপেনের সুবিধা হ'ল এটি লুপের সময় ঘুমের চেয়ে অন্য জিনিসগুলির প্রক্রিয়াজাতকরণ থেকে সময়ের সাথে সাথে যে ক্ষুদ্র বিলম্ব জমে থাকে তা আমলে নিতে সক্ষম। এমনকি যদি sleep 1
কোনওটি কেবল 10 বার লুপে আসে sleep
তবে লুপটি সঞ্চালন ও পুনরুক্তকরণ থেকে আসা ছোট ওভারহেডের কারণে সামগ্রিক সম্পাদনটি 10 সেকেন্ডেরও বেশি সময় নেয়। এই ত্রুটিটি আস্তে আস্তে জমা হয় এবং সময়ের সাথে সাথে আমাদের স্টপওয়াচের টাইমারকে আরও বেশি করে নষ্ট করা হবে। এই সমস্যাটি সমাধানের জন্য, প্রতিটি লুপ পুনরাবৃত্তির অবশ্যই ঘুমানোর সঠিক সময়টি গণনা করতে হবে যা সাধারণত একটি সেকেন্ডের চেয়ে কিছুটা কম (এক সেকেন্ড অন্তর টাইমারগুলির জন্য)। ঘুমের সরঞ্জামটি আপনার জন্য এটি করে for
sleep 0.1
। কী sleepnh
(এটি আমি আর্চ রেপোগুলিতে খুঁজে পাচ্ছি না) এবং এটির থেকে কীভাবে আলাদা হয় sleep
? আমি যতদূর বলতে পারি, আপনি মূলত আমার উপরের উত্তর হিসাবে একই জিনিস করছেন। আমি কী মিস করছি?
sleep 5
হ'ল, আপনি ঠিক 5 সেকেন্ডের জন্য ঘুমোবেন না। উদাহরণস্বরূপ চেষ্টা করুন time sleep 5
এবং আপনি দেখতে পাচ্ছেন যে কমান্ডটি চালানো 5 সেকেন্ডেরও বেশি সময় নেয়। সময়ের সাথে সাথে ত্রুটিগুলি জমা হয়। স্লিপেনহ ইউটিলিটি সহজেই ত্রুটির এই জমাটি এড়াতে দেয়।
sleepnh
চেয়ে ভাল কেন তা ব্যাখ্যা করি sleep
(আপনি কেবল অন্য উত্তরগুলি ব্যবহার করেন sleep 1
- যা তারা ব্যবহার করে না , এবং কেবলমাত্র ওপি এটি ব্যবহার করে) এবং ii) এটি কোথায় পাবেন এবং এটি কীভাবে ইনস্টল করবেন তা এটি কোনও আদর্শ সরঞ্জাম নয়।
sleep
এবং এর sleepenh
মধ্যে পার্থক্য বর্ণনা করেছি । যাইহোক, আমি সম্ভবত এটি যথেষ্ট পরিষ্কার ছিল না তাই আমি এর শেষে আরও প্রসারিত। মিলিসেকেন্ড নির্ভুলতার সমস্যাগুলি হ'ল sleep
একবার কল করার সময় আপনি যা পান । তারা সময়ের সাথে জমে এবং এক পর্যায়ে এটি লক্ষণীয়। আমি বলিনি যে অন্যরা কেবল ব্যবহার করে sleep 1
। আমি বলেছিলাম যে তারা ব্যবহার করে sleep 1
বা একটি ব্যস্তলুপ। যা তারা এখনও করে। আমাকে একটি পাল্টা উদাহরণ দেখান। উত্তরগুলি যেগুলি করে sleep 0.1
সেগুলি একই রকম হয় sleep 1
তবে তারা ত্রুটিগুলি আরও দ্রুত জমা করে।
সংক্ষিপ্ত উত্তর:
for i in `seq 60 -1 1` ; do echo -ne "\r$i " ; sleep 1 ; done
ব্যাখ্যা:
আমি জানি অনেক উত্তর আছে, তবে আমি কেবল ওপি-র প্রশ্নের খুব কাছাকাছি কিছু পোস্ট করতে চাই যে ব্যক্তিগতভাবে আমি সত্যই " টার্মিনালে অননায়ক গণনা " হিসাবে গ্রহণ করব । আমার লক্ষ্যগুলি ছিল:
কিভাবে এটা কাজ করে:
seq
60 থেকে 1 নম্বর মুদ্রণ করে।echo -ne "\r$i "
স্ট্রিংয়ের শুরুতে ক্যারেট দেয় এবং বর্তমান $i
মান মুদ্রণ করে । পূর্ববর্তী মানটি ওভাররাইট করার পরে প্রয়োজনীয় স্থান, যদি এটি বর্তমানের $i
(10 -> 9) এর চেয়ে বেশি অক্ষর দ্বারা দীর্ঘ হয় ।আপনি ওএসএক্সের কোনও ব্যক্তি কমান্ড লাইন স্টপওয়াচ সন্ধান করছেন বলে ভান করুন। আপনি যে gnu সরঞ্জাম ইনস্টল করতে চান না এবং কেবল ইউনিক্স দিয়ে চালাতে চান তা ভান করুনdate
সেক্ষেত্রে @terdon যা বলেছে তেমন করুন তবে এই পরিবর্তনটি দিয়ে:
function stopwatch(){
date1=`date +%s`;
while true; do
echo -ne "$(date -jf "%s" $((`date +%s` - $date1)) +%H:%M:%S)\r";
sleep 0.1
done
}
কেবলমাত্র ইউটিসির সময় ঘড়ির + তারিখ ব্যবহার করুন। আপনি বড় ডিসপ্লে জন্য কিছু প্যাকেজ ইনস্টল করতে পারেন ...
export now="`date +%s -u`";
watch -n 0,1 'date +%T -u -d @$((`date +%s` - $now ))'
#Big plain characters
watch -n 0,1 'date +%T -u -d @$((`date +%s` - $now )) | toilet -f mono12'
#Big empty charaters
watch -n 0,1 'date +%T -u -d @$((`date +%s` - $now )) | figlet -c -f big'
চেষ্টা করে দেখুন!
Http://www.cyberciti.biz/faq/create-large-colorful-text-banner-on-screen/ এও দেখুন
sw একটি সাধারণ স্টপওয়াচ যা চিরকালের জন্য চলবে।
wget -q -O - http://git.io/sinister | sh -s -- -u https://raw.githubusercontent.com/coryfklein/sw/master/sw
sw
- start a stopwatch from 0, save start time in ~/.sw
sw [-r|--resume]
- start a stopwatch from the last saved start time (or current time if no last saved start time exists)
- "-r" stands for --resume
একটি অজগর উদাহরণ:
#!/usr/bin/python
def stopwatch ( atom = .01 ):
import time, sys, math
start = time.time()
last = start
sleep = atom/2
fmt = "\r%%.%sfs" % (int(abs(round(math.log(atom,10)))) if atom<1 else "")
while True:
curr = time.time()
subatom = (curr-last)
if subatom>atom:
# sys.stdout.write( "\r%.2fs" % (curr-start))
sys.stdout.write( fmt % (curr-start))
sys.stdout.flush()
last = curr
else:
time.sleep(atom-subatom)
stopwatch()
এটি গৃহীত উত্তরের মতো, তবে টেরডন countdown()
আমাকে সিনট্যাক্স ত্রুটি দিয়েছে। যদিও এটি আমার জন্য দুর্দান্ত কাজ করে:
function timer() { case "$1" in -s) shift;; *) set $(($1 * 60));; esac; local S=" "; for i in $(seq "$1" -1 1); do echo -ne "$S\r $i\r"; sleep 1; done; echo -e "$S\rTime's up!"; }
আপনি এটিতে রেখে দিতে পারেন .bashrc
এবং এর সাথে চালিত করতে পারেন: timer t
(যেখানে মিনিটের মধ্যে সময় হয়)।
একটি কর্মশালার জন্য একটি বৃহত কাউন্টডাউন টাইমার প্রদর্শনের জন্য একটি শব্দ অ্যাপ্লিকেশন সন্ধান করার সময়, আজকের এই প্রশ্নটি পাওয়া গিয়েছে। পরামর্শগুলির কোনওোটাই আমার প্রয়োজন মতো ছিল না, তাই আমি দ্রুত আরেকটি পরামর্শ গোতে একসাথে রেখেছিলাম: https://github.com/bnaucler/cdown
যেহেতু প্রশ্নের ইতিমধ্যে যথেষ্ট উত্তর দেওয়া হয়েছে, এটি উত্তরসূরির জন্য বিবেচনা করুন।
$ ঘুম 1500 && xterm -fg হলুদ -g 240x80 এবং
হলুদ পাঠ্যযুক্ত সেই বড় টার্মিনালটি যখন লাফিয়ে উঠে, সময় উঠতে এবং প্রসারিত করার সময়!
দ্রষ্টব্য: - 1500 সেকেন্ড = 25 মিনিটের পোমোডোরো - 240x80 = টার্মিনাল আকার 240 অক্ষর সারি, এবং 80 টি সারি। লক্ষণীয়ভাবে আমার জন্য একটি পর্দা পূরণ করুন।
ক্রেডিট: http://www.linuxquestions.org/questions/linux-newbie-8/countdown-timer-for-linux-949463/
স্টপওয়াচের একটি জিইউআই সংস্করণ
date1=`date +%s`
date1_f=`date +%H:%M:%S____%d/%m`
(
while true; do
date2=$(date -u --date @$((`date +%s` - $date1)) +%H:%M:%S)
echo "# started at $date1_f \n$date2"
done
) |
zenity --progress \
--title="Stop Watch" \
--text="Stop Watch..." \
--percentage=0
টার্মটাইমটি একবার দেখুন , এটি একটি দুর্দান্ত টার্মিনাল ভিত্তিক ঘড়ি এবং স্টপওয়াচ:
pip install termtime
আপনি যে কোনও কারণে একটি সংকলন-সক্ষম প্রোগ্রাম করতে চাইলে, নিম্নলিখিতটি কাজ করবে:
#include <iostream>
#include <string>
#include <chrono>
int timer(seconds count) {
auto t1 = high_resolution_clock::now();
auto t2 = t1+count;
while ( t2 > high_resolution_clock::now()) {
std::cout << "Seconds Left:" <<
std::endl <<
duration_cast<duration<double>>(count-(high_resolution_clock::now()-t1)).count() <<
std::endl << "\033[2A\033[K";
std::this_thread::sleep_for(milliseconds(100));
}
std::cout << "Finished" << std::endl;
return 0;
}
এটি অন্যান্য প্রোগ্রামেও ব্যবহার করা যেতে পারে এবং সহজেই পোর্ট করা যায়, যদি কোনও বাশ পরিবেশ উপলব্ধ না হয় বা আপনি কেবল একটি সংকলিত প্রোগ্রাম ব্যবহার করতে পছন্দ করেন