बैश कोड के साथ सीडी-रॉम खोलना


9

मैंने एक मजेदार वीडियो क्लिप से कोड के इस गुच्छा को कॉपी किया है कि कैसे एक प्रोग्रामर अपने बच्चे को स्विंग करता है । कोड निम्नलिखित है:

#!/bin/bash

while [ l=l ]
do
   #eject cdrom
   eject    
   #pull cdrom track back in
   eject -t
done

लेकिन यह मेरे लिए काम नहीं करता है, जब मैं इसे कमांड के साथ चलाता हूं तो यह sh baby_rocker.shकोड निष्पादित करता है और निम्न संदेश को आउटपुट करता है, eject: unable to find or open device for: "cdrom"भले ही मेरे कंप्यूटर पर सीडी-रोम डिवाइस हो।

मैं इसे काम करने के लिए कैसे बना सकता हूं?


2
उबंटू और पेरेंटिंग की सलाह सभी को एक प्रश्न में वोट करने के लिए मिला
एलन

@Jorge। मैंने जवाब अलग कर दिया है।
बख्तियार

जवाबों:


9

आपको अपना cdrom उपकरण नाम खोजने की आवश्यकता है (जो त्रुटि के अनुसार / dev / cdrom नहीं है)। टर्मिनल निष्पादन से cdrom डिवाइस का नाम जानने के लिए:

sudo lshw -C disk

इसे "* -cdrom" से शुरू होने वाला उपकरण होना चाहिए, डिवाइस का नाम "तार्किक नाम:" फ़ील्ड में सूचीबद्ध है। फिर आपको अपनी स्क्रिप्ट पर इजेक्ट कमांड के लिए डिवाइस का नाम जोड़ना होगा, जैसे:

eject /dev/cdrom1

2

जोआओ पिंटो के जवाब के लिए धन्यवाद , मैंने कोड बदल दिया और अब यह काम करता है। इसलिए, यदि आप अपने बच्चे को सीडीरॉम के साथ स्विंग करने का निर्णय लेते हैं, तो आप नीचे दिए गए कोड को बदल सकते हैं और इसकी कार्यक्षमता का आनंद ले सकते हैं:

#!/bin/bash

while [ l=l ]
do
   #eject cdrom
   eject /dev/cdrom1
   #pull cdrom track back in
   eject -t /dev/cdrom1
done

ध्यान दें कि /dev/cdrom1मेरे CDROM डिवाइस का लॉजिक नाम है। आपको sudo lshw -C diskअपने CDROM के तर्क नाम को देखने के लिए कमांड निष्पादित करने की आवश्यकता है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.