কম্পিউটার

কেন আমি Xonsh ভালোবাসি

শেল ভাষা ইন্টারেক্টিভ ব্যবহারের জন্য উপযোগী। কিন্তু এই অপ্টিমাইজেশানটি প্রায়ই প্রোগ্রামিং ভাষা হিসাবে ব্যবহার করার বিরুদ্ধে ট্রেড-অফের সাথে আসে, যা কখনও কখনও শেল স্ক্রিপ্ট লেখার সময় অনুভূত হয়।

যদি আপনার শেল আরও স্কেলেবল প্রোগ্রামিং ভাষা বুঝতে পারে? বলুন, পাইথন?

Xonsh লিখুন।

Xonsh ইনস্টল করা ভার্চুয়াল পরিবেশ তৈরি করার মতোই সহজ, pip install xonsh[ptk,linux] চালানো , এবং তারপর xonsh চলমান .

প্রথমে, আপনি ভাবতে পারেন কেন আপনার পাইথন শেলটিতে একটি অদ্ভুত প্রম্পট রয়েছে:

$ 1+1
2

চমৎকার ক্যালকুলেটর!

$ print("hello world")
hello world

আমরা অন্যান্য ফাংশনকেও কল করতে পারি:

$ from antigravity import geohash
$ geohash(37.421542, -122.085589, b'2005-05-26-10458.68')
37.857713 -122.544543

যাইহোক, আমরা এখনও এটিকে একটি নিয়মিত শেলের মতো ব্যবহার করতে পারি:

$ echo "hello world"
hello world

আমরা এমনকি মিশ্র এবং মিল করতে পারি!

$ for i in range(3):
.     echo "hello world"
.
hello world
hello world
hello world

Xonsh প্রম্পট টুলকিট ব্যবহার করে শেল কমান্ড এবং পাইথন এক্সপ্রেশন উভয়ের জন্য সমাপ্তি সমর্থন করে। সম্পূর্ণগুলি দৃশ্যত তথ্যপূর্ণ, সম্ভাব্য সমাপ্তিগুলি দেখায় এবং ইন-ব্যান্ড ড্রপডাউন তালিকা রয়েছে৷

এটি পরিবেশ অ্যাক্সেস সমর্থন করে। এটি পরিবেশের ভেরিয়েবলগুলিতে পাইথন প্রকারগুলি প্রয়োগ করার জন্য একটি সহজ কিন্তু শক্তিশালী হিউরিস্টিক ব্যবহার করে। ডিফল্ট হল "স্ট্রিং", কিন্তু, উদাহরণস্বরূপ, পাথ ভেরিয়েবলগুলি স্বয়ংক্রিয়ভাবে তালিকাভুক্ত হয়৷

$ '/usr/bin' in $PATH
True

Xonsh শেল-স্টাইল বা পাইথন-স্টাইল বুলিয়ান শর্টকাট অপারেটর গ্রহণ করে:

$ cat things
foo
$ grep -q foo things and echo "found"
found
$ grep -q bar things && echo "found"
$ grep -q foo things or echo "found"
$ grep -q bar things || echo "found"
found

এর মানে হল পাইথন কীওয়ার্ড ব্যাখ্যা করা হয়। আমরা যদি একটি বিখ্যাত ডক্টর সিউস বইয়ের শিরোনাম মুদ্রণ করতে চাই তবে আমাদের কীওয়ার্ডগুলি উদ্ধৃত করতে হবে৷

$ echo green eggs "and" ham
green eggs and ham

যদি আমরা তা না করি, আমরা একটি বিস্ময়ের জন্য আছি:

$ echo green eggs and ham
green eggs
xonsh: For full traceback set: $XONSH_SHOW_TRACEBACK = True
xonsh: subprocess mode: command not found: ham
Did you mean one of the following?
    as:   Command (/usr/bin/as)
    ht:   Command (/usr/bin/ht)
    mag:  Command (/usr/bin/mag)
    ar:   Command (/usr/bin/ar)
    nm:   Command (/usr/bin/nm)

ভার্চুয়াল পরিবেশ একটু কঠিন হতে পারে। নিয়মিত ভার্চুয়াল এনভায়রনমেন্ট, বাশ-এর ​​মতো সিনট্যাক্সের উপর নির্ভর করে, কাজ করতে পারে না। যাইহোক, Xonsh তার নিজস্ব ভার্চুয়াল এনভায়রনমেন্ট ম্যানেজমেন্ট সিস্টেম নিয়ে আসে যার নাম vox .

vox ~/.virtualenvs-এ পরিবেশ তৈরি, সক্রিয় এবং নিষ্ক্রিয় করতে পারে; আপনি যদি virtualenvwrapper ব্যবহার করেন , এখানেই পরিবেশ ছিল।

মনে রাখবেন যে বর্তমান সক্রিয় পরিবেশ x কে প্রভাবিত করে না onsh . এটি একটি সক্রিয় পরিবেশ থেকে কিছু আমদানি করতে পারে না৷

$ xontrib load vox
$ vox create my-environment                                                    
...
$ vox activate my-environment        
Activated "my-environment".                                                    
$ pip install money                                                            
...
$ python                                                              
...
>>> import money                                                              
>>> money.Money('3.14')                        
$ import money
xonsh: For full traceback set: $XONSH_SHOW_TRACEBACK = True
ModuleNotFoundError: No module named 'money'

প্রথম লাইনটি vox সক্ষম করে :এটি একটি xontrib , Xonsh-এর জন্য একটি তৃতীয় পক্ষের এক্সটেনশন। xontrib ম্যানেজার সম্ভাব্য সমস্ত xontribs তালিকা করতে পারে এবং তাদের বর্তমান অবস্থা (ইনস্টল করা, লোড করা বা কোনটাই নয়)।

একটি xontrib লেখা সম্ভব এবং শুধু PyPi এ আপলোড করুন এটা উপলব্ধ করা. যাইহোক, এটাকে xontrib-এ যোগ করা ভালো অনুশীলন index তাই Xonsh এটা সম্পর্কে আগে থেকেই জানে। এটি, উদাহরণস্বরূপ, কনফিগারেশন উইজার্ডকে এটির পরামর্শ দেওয়ার অনুমতি দেয়৷

আপনি যদি কখনও ভেবে থাকেন, "পাইথন কি আমার শেল হতে পারে?" তাহলে আপনি শুধুমাত্র একজন pip install xonsh খুঁজে বের করা থেকে দূরে।


  1. 6টি কারণ কেন অভিজ্ঞ লিনাক্স ব্যবহারকারীরা প্রাথমিক ওএস পছন্দ করবে

  2. শীর্ষ 5টি কারণ কেন DevOps টিমগুলি Redis Enterprise পছন্দ করে৷

  3. Windows 10 খারাপ কেন?

  4. শুভ 10 তম জন্মদিন হোয়াটসঅ্যাপ:এখানে আমরা কেন আপনাকে ভালবাসি!