उबंटू टच में उबंटू टच में पाइथन लिपि को एसएमएस-भेजने के लिए कमांड-लाइन तर्क के रूप में व्हाट्सएप पास नहीं कर सकता


1

मैं आदेश का उपयोग करके एसएमएस द्वारा पाठ संदेश भेज सकता हूं:

$ /usr/share/ofono/scripts/send-sms /ril_0 07123456789 "iorem ipsum est" 0

/ril_0सिम कार्ड / मॉडेम कहां है, 07123456789टेलीफोन नंबर "iorem ipsum est"है, पाठ भेजा जाना है और अंतिम 0है (मुझे लगता है) एक बूलियन निर्धारित करता है कि स्क्रिप्ट डिलीवरी रिपोर्ट का अनुरोध करेगी या नहीं।

यह ठीक काम करता है, और उत्पादन का उत्पादन करता है:

Send message using modem /ril_0 ...
/ril_0/message_20C76858222F2CDF61342FC317BF53AC4B763441

हालाँकि, यह काम नहीं करता है:

$ echo '"iorem ipsum est"' > textfile
$ /usr/share/ofono/scripts/send-sms /ril_0 07123456789 $(cat textfile) 0

मैंने कुछ क्रमपरिवर्तन, बैकटिक्स और इसके आगे की कोशिश की; उनमें से कोई भी काम नहीं करता है और वे सभी इस तरह से उत्पादन करते हैं:

Send message using modem /ril_1 ...
Traceback (most recent call last):
  File "/usr/share/ofono/scripts/send-sms", line 31, in <module>
    mm.SetProperty("UseDeliveryReports", dbus.Boolean(int(sys.argv[3])))
ValueError: invalid literal for int() with base 10: '"iorem'

/ril_1 वह जगह है जहाँ दूसरा सिम कार्ड होगा (अगर वहाँ एक थे), और मुझे लगता है कि बाकी एक स्टैक ट्रेस है?

इसके लायक क्या है, यह ठीक काम करता है:

$ echo '"iorem"' > textfile
$ /usr/share/ofono/scripts/send-sms /ril_0 07123456789 $(cat textfile) 0

तो मुझे लगता है कि समस्या $()व्हाट्सएप वाले आउटपुट को हैंडल करने के तरीके में निहित है ?

मैं की सामग्री को चिपका दिया है /usr/share/ofono/scripts/send-smsकरने के लिए http://pastebin.com/u8gHMc5R (और निश्चित रूप से स्रोत उबंटू से डाउनलोड करने के लिए, यहाँ उपलब्ध है http://packages.ubuntu.com/en/vivid/ofono-scripts )।

मैं वास्तव में मूल पायथन स्क्रिप्ट के साथ गड़बड़ नहीं करना चाहता (भले ही मैं किसी भी पायथन को जानता था, जिसे मैं नहीं जानता!), लेकिन अगर कोई शेल समाधान नहीं है जो मुझे नहीं पता (कुछ पाइप या xargs का उपयोग करके) , हो सकता है?) मैं किसी अन्य स्क्रिप्ट के विचार के खिलाफ नहीं होगा जो मूल एक या कुछ का उपयोग करता है।

मेरा सिस्टम एक BQ Aquaris है जो 15.04 (r23) चल रहा है। मामले में यह किसी भी तरह से फर्क पड़ता है, मैं इन सभी आदेशों को फोन में टाइप करने के बजाय ssh के माध्यम से चला रहा हूं।

किसी भी मदद की बहुत सराहना की। ओह, और अगर मैं इसे कहीं और पोस्ट कर रहा हूं, उदाहरण के लिए स्टैक ओवरफ्लो या सभी पायथन के कारण कुछ, तो कृपया मुझे बताएं!

जवाबों:


0

कमांड प्रतिस्थापन को लपेटने के लिए दोहरे उद्धरण चिह्नों का उपयोग करें। इसके अलावा या तो सिंगल कोट्स का उपयोग करें या echoकमांड में दोहरे उद्धरण चिह्नों का उपयोग करें, दोनों का उपयोग करने की कोई आवश्यकता नहीं है:

echo 'iorem ipsum est' > textfile
/usr/share/ofono/scripts/send-sms /ril_0 07123456789 "$(cat textfile)" 0

मुझे लगता है कि वह सोच रहा था दोनों का मतलब होगा $(cat textfile)प्राप्त होते हैं "foo bar"बजाय\"foo bar\"
user3113723
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.