স্ক্রিপ্ট এক্সিকিউশন প্রস্তুত হলে আমি কীভাবে শব্দ বাজাতে পারি?


44

আমি প্রতিটি এখনই এক্সিকিউট করছি এবং তারপরে কিছু অজগর স্ক্রিপ্ট যা কার্যকর করতে বেশ সময় নেয়।

আমি তাদের এভাবে চালিত করি: $ time python MyScript.py

স্ক্রিপ্টটির সম্পাদনা শেষ হওয়ার সাথে সাথে আমি কীভাবে শব্দ বাজাতে পারি?

আমি উবুন্টু 10.10 (জিনোম ডেস্কটপ) ব্যবহার করি।


আপনি ব্যবহার করছেন bashবা zsh? এটি স্বয়ংক্রিয়ভাবে ঘটে যাওয়ার কিছু উপায় রয়েছে তবে তারা বেশ জড়িত এবং আপনি কোন শেলটি ব্যবহার করছেন তার উপর নির্ভর করে।
মাইকেল

cho প্রতিধ্বনি $ শেল "/ বিন / বাশ" ফিরিয়ে দেয়
মার্টিন থোমা

উত্তর:


39

একটি শব্দ বাজানো যে কোনও কমান্ড যুক্ত করুন; এটি হিসাবে সহজ হতে পারে

$ time mycommand; printf '\7'

বা হিসাবে জটিল

$ time mycommand && paplay itworked.ogg || paplay bombed.ogg

(কমান্ডগুলি ধরে নিচ্ছে যে পালসোডিও ইনস্টল করা আছে; আপনার সাউন্ড প্লেয়ারকে বিকল্পযুক্ত করুন যা আপনার ডেস্কটপ পরিবেশের উপর নির্ভর করবে)


6
paplay"আধুনিক" লিনাক্স সিস্টেমে শব্দ বাজানোর জন্য +1 সম্ভবত সেরা কমান্ড।
মাইকেল

4
প্রিন্টফ '\ 7' আমার পক্ষে কাজ করে না, তবে এই কমান্ডটি যেমনটি চেয়েছিল time python MyScript.py -n 40 && paplay /usr/share/sounds/ubuntu/stereo/desktop-login.ogg || paplay /usr/share/sounds/ubuntu/stereo/phone-outgoing-busy.ogg
তেমনভাবে

printf '\7'আমার জন্য কাজ করে (প্যাপ্লে না; (গিট শেল)) তবে এটি কেবল একটি খুব ছোট বিপ । আরও শব্দ রয়েছে যা অন্যান্য শব্দ করে? আমি চেষ্টা করেছি \6, \8তবে সেগুলি কিছু চরিত্র।
laggingreflex

2
@ ল্যাগিংগ্রেফ্লেক্স নং, \7(বিইএল) সাধারণত একমাত্র চরিত্র যা সম্ভবত একটি শব্দকে ট্রিগার করে (উইকিপিডিয়া নিবন্ধটি নিয়ন্ত্রণের অক্ষর দেখুন ); মনে রাখবেন এটি সর্বদা একটি শব্দ নাও পারে।
ম্যাসিফিল

3
@ ল্যাগিংগ্রেফ্লেক্স আপনার সম্ভবত আর এটির দরকার নেই কেবল হাসির জন্য;)for i in {1..30}; do for j in {1..3}; do printf '\7'; sleep 0.12; done; sleep 0.4; done
সিআরপিএন

16

spd-say

sleep 2; spd-say 'get back to work'

-wআপনার অতিরিক্ত অনুপ্রেরণার প্রয়োজন হলে অসীম লুপ :

sleep 2; while true; do spd-say -w 'get back to work'; done

প্যাকেজের মাধ্যমে 14.04-এ প্রাক ইনস্টলড speech-dispatcher: http://releases.ubuntu.com/trusty/ubuntu-14.04.4-desktop-amd64.manif আমি ধারণা করি অন্ধ লোকদের জন্য কী?

একটি পপআপ যুক্ত করুন

এই কম্বো একটি জীবন রক্ষাকারী ( bএর জন্য দাঁড়িয়েছে beep):

b() ( spd-say 'done'; zenity --info --text "$(date);$(pwd)" & )

এবং তারপর:

super-slow-command;b

আমি যদি ঘরে কোথাও থাকি তবে আমি এটি শুনব এবং জানি যে দীর্ঘ কাজটি শেষ হয়েছে।

অন্যথায়, আমি আমার কম্পিউটারে ফিরে আসার পরে পপআপটি দেখতে পাব।

সম্পর্কিত: https://stackoverflow.com/questions/7035/how-to-show-a-gui-message-box-from-a-bash-script-in-linux


এর spd-sayসাথে সম্পর্কিত সরঞ্জামটি পেতে speech-dispatcher, আপনাকে একটি সাবপ্যাকেজ ইনস্টল করতে হবে speech-dispatcher-utils(ফেডোরা 24)।
dfarrell07

9

আপনার হার্ড ড্রাইভে কেবল একটি শব্দ বাছুন, এবং আপনি যে কমান্ডটি অপেক্ষা করছেন তার ঠিক পরে এটি চালানোর জন্য একটি আদেশ দিন; তারা ধারাবাহিকভাবে ঘটবে:

$ time python MyScript.py; mplayer ~/ScriptDone.wav

(আপনি প্রাকৃতিকভাবে যে কোনও খেলোয়াড় ব্যবহার করতে পারেন)। আমার কাছে একটি স্ক্রিপ্ট বলা আছে alertdoneযা একটি স্বন বাজায় এবং রান করার সময় একটি স্বতন্ত্র সতর্কতা দেখায়; আমি ঠিক এই উপলক্ষে এটি ব্যবহার:

$ time python MyScript.py; alertdone "Done timing"

এটা সত্যিই সহজ, তাই যদি আপনি আপনার নিজের আপনি (খনি প্রয়োজন এই তে এটি বেস পারেন তা নিশ্চিত করতে চান notify-more, mplayerএবং ~/tones/alert_1.wavযদিও):

#!/bin/bash
message=${1:-"Finished working"}
notify-more -t 10000 -i /usr/share/icons/gnome/32x32/actions/insert-object.png "Process Finished" "$message"
mplayer ~/tones/alert_1.wav

2
notify-moreবা notify-sendশব্দটি প্লে করার পক্ষে সত্যই কার্যকর বিকল্প হতে পারে।
মাইকেল

@ মাইকেল আমি সম্পূর্ণরূপে লিবনোটাইফায় আসক্ত; আমার সিস্টেমে সমস্ত কিছু বিজ্ঞপ্তিগুলি পপ করে
মাইকেল মরোজেক

8
time python MyScript.py; play /path/so/sound.ogg

playsox ইনস্টল করুন sox http://bit.ly/software-small প্যাকেজ থেকে খুব বেসিক (কোনও ইউআই নয়) সাউন্ড প্লেয়ার । আপনি এটি অন্য কোনও কমান্ড-লাইন চালিত সাউন্ড প্লেয়ার দ্বারা প্রতিস্থাপন করতে পারেন।


হাঁ, play, aplay, অথবা paplay। (আমার উবুন্টু সিস্টেমে রয়েছে aplayএবং paplayডিফল্টরূপে।)
মাইকেল

1
time python MyScript.py -n 40; paplay /usr/share/sounds/ubuntu/stereo/desktop-login.oggধন্যবাদ, ধন্যবাদ
মার্টিন থোমা

5

ব্যক্তিগতভাবে, আমি ব্যবহার my-script && notify-send "done"। এটি একটি ডেস্কটপ বিজ্ঞপ্তি প্রেরণ করে, যা লিনাক্স মিন্টের (দারুচিনি) এর মতো দেখাচ্ছে:

এখানে চিত্র বর্ণনা লিখুন


3

আপনি এটি স্বয়ংক্রিয়ভাবে ঘটতেও পারেন।

আমি আপনাকে কিভাবে দেখাব zsh, তারপরে তথ্য যুক্ত করুন bash

সারমর্মটি দেখতে এটির মতো:

preexec()
{
    starttime=$SECONDS
}

precmd()
{
    if ((SECONDS - starttime >= 5)); then
        aplay "sound.wav"
        # or printf "\b", or notify-send, or whatever
    fi
}

আপনি যদি প্রোগ্রামটি পাইথন, উদাহরণস্বরূপ কেবল এটি করতে পারেন

preexec()
{
    starttime=$SECONDS
    case $3 in python*)
        command_is_python=true;;
    *)
        command_is_python=false;;
    esac
}

precmd()
{
    if $command_is_python && ((SECONDS - starttime >= 5)); then
        aplay "sound.wav"
        # or printf "\b", or notify-send, or whatever
    fi
}

ইন bash, সবচেয়ে ভালো উপায় ডাউনলোড হয় preexec.bash.txt এবং এটি উৎস (যেমন . ~/preexec.bash.txtআপনার উপরের ~/.bashrc, তারপর উপরে (অথবা এটা কিছু ঘনিষ্ঠ) কাজ করা উচিত। (না নিশ্চিত সম্পর্কে $3যদি কমান্ড পাইথন বিট চেক করতে ।)

আপনি যদি জিনোম টার্মিনাল ব্যবহার করছেন, আমি আপনাকে জিনোম টার্মিনাল ফ্ল্যাশ করার দিকেও নির্দেশ করব । এটি আমি একটি প্যাচ লিখেছি যা একটি কমান্ড হয়ে গেলে টার্মিনালটি জ্বলজ্বলে করে তোলে, যাতে আপনি অন্য কোনও কিছুর সাথে আল-ট্যাব করতে পারেন, তারপরে এটি আপনাকে জানাতে দেয় যখন এটি হয়ে গেছে।


1

আপনার সবকিছুর সাথে একটি কমান্ড যুক্ত করার দরকার নেই, আপনি আসলে একটি স্ক্রিপ্ট ব্যবহার করতে পারেন, এটি আপনার জন্য স্বয়ংক্রিয়ভাবে এটি করে। এটিকে আনডিট্রাক্ট-মি বলা হয় এবং এটি গিথুবে পাওয়া যায়।

উদাহরণ

sudo apt install undistract-me    #installs the script (on Debian)
echo 'source /etc/profile.d/undistract-me.sh' >> ~/.bashrc #adds auto-enable to your console
echo 'export LONG_RUNNING_COMMAND_TIMEOUT=XXX' >> ~/.bashrc #where XXX is number of seconds when the command is long enough to alert you
echo 'export UDM_PLAY_SOUND=1' >> ~/.bashrc #to enable sound alert

এখন নতুন বাশ শুরু করুন এবং আপনি সেট হয়ে গেছেন। স্ক্রিপ্ট পরিবর্তন করে শব্দ এবং সতর্কতা পরিবর্তন করা যেতে পারে।


-1

যে কোনও প্লেয়ার ব্যবহার করা যেতে পারে। আমি cvlcসম্পূর্ণতার জন্য যুক্ত করছি ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.