কমান্ড লাইনের শর্টকাট তৈরি করতে কীভাবে ln -s ব্যবহার করবেন?


11

আমার একটি sh ফাইল রয়েছে যা আমি যে কোনও সময় টার্মিনাল থেকে খুলতে সক্ষম হতে চাই। আমি টার্মিনালে "স্টুডিও" টাইপ করতে চাই এবং অ্যান্ড্রয়েড স্টুডিও খুলতে চাই

আমি এটি করতে ব্যবহার করে মনে করছি ln -sতবে আমি ভুলে গিয়েছি এবং ইতিমধ্যে ওয়েবে অনুসন্ধানে অনেক সময় নষ্ট করেছি।

এছাড়াও, তৈরি হওয়া প্রতীকী লিঙ্কটি কোন ডিরেক্টরিতে রাখা হয়েছে?

এখানে আমার প্রচেষ্টা থেকে সিনট্যাক্স, আদেশ পাওয়া যায় নি

ricardo@debian:~$ ln -s /opt/android-studio/bin/studio.sh studio
ricardo@debian:~$ studio
bash: studio: command not found

চেষ্টা ./studio
সেবাস্তিয়ান

আমি। / স্টুডিওতে একটি লিঙ্ক তৈরি করতে চাই যা আমি যে কোনও জায়গা থেকে কেবল স্টুডিও বা কলা টাইপ করে খুলতে পারি
rickyjoepr

আপনি যদি studioএকা ব্যবহার করে যে কোনও জায়গা থেকে স্ক্রিপ্টটি সম্পাদন করতে চান তবে আপনাকে লিঙ্কটি এমন জায়গায় রাখতে হবে যা শেল দ্বারা অনুসন্ধান করা হচ্ছে। শেলটি সমস্ত কিছু অনুসন্ধান করে echo $PATH। আপনি হয় পরিবর্তন করতে পারেন $PATHবা এর ডিরেক্টরিতে একটিতে লিঙ্কটি রাখতে পারেন $PATH। তুমি কোনটা বেশি পছন্দ কর?
সেবাস্তিয়ান

4
@ সেবাস্তিয়ান দয়া করে প্রশ্নের উত্তরগুলির জন্য উত্তরগুলি ব্যবহার করুন, মন্তব্যগুলি নয়। এবং দয়া করে প্রশ্নগুলির উত্তর দেওয়ার পরে মুছে ফেলার পরামর্শ দিবেন না। আমরা এখানে থাকা উত্তরগুলির একটি ভাণ্ডার তৈরি করতে এসেছি যা ভবিষ্যতে দর্শনার্থীদের জন্য কার্যকর।
গিলস 'অশুভ হওয়া বন্ধ করুন'

1
আপনি aliasকমান্ডটি পছন্দ করতে পারেন যা কমান্ডের নামগুলি সংক্ষিপ্ত করে প্রতীকী লিঙ্কগুলি তৈরি করার পরিবর্তে ব্যবহৃত হয়।
উইনি

উত্তর:


10

আপনি যে কমান্ডটি চালিয়েছেন তা বর্তমান ডিরেক্টরিতে একটি প্রতীকী লিঙ্ক তৈরি করেছে। প্রম্পট দ্বারা বিচার, বর্তমান ডিরেক্টরি আপনার হোম ডিরেক্টরি। আপনার হোম ডিরেক্টরিতে এক্সিকিউটেবল প্রোগ্রামগুলিতে প্রতীকী লিঙ্কগুলি তৈরি করা বিশেষভাবে কার্যকর নয়।

আপনি যখন কোনও প্রোগ্রামের নাম টাইপ করেন, তখন শেলটি PATHপরিবেশের ভেরিয়েবলের তালিকাভুক্ত ডিরেক্টরিতে এটির সন্ধান করে । এই ভেরিয়েবলের মান দেখতে, চালান echo $PATH। ডিরেক্টরিগুলি একটি কোলন ( :) দ্বারা পৃথক করা হয় । একটি সাধারণ পাথ /home/ricardo/bin:/usr/local/bin:/usr/bin:/binকিন্তু সেখানে প্রচুর প্রকরণ রয়েছে।

তালিকাভুক্ত ডিরেক্টরিগুলির মধ্যে একটিতে আপনাকে এই প্রতীকী লিঙ্ক তৈরি করতে হবে $PATH। আপনি যদি সমস্ত ব্যবহারকারীর জন্য কমান্ডটি উপলব্ধ করতে চান তবে লিঙ্কটি এতে তৈরি করুন /usr/local/bin:

sudo ln -s /opt/android-studio/bin/studio.sh /usr/local/bin/studio

আপনি যদি কমান্ডটি কেবলমাত্র আপনার কাছে উপলব্ধ করতে চান (তবে প্রশাসকের অধিকার না থাকলে এটিই একমাত্র সম্ভাবনা), এই লিঙ্কটি তৈরি করুন ~/bin( binআপনার হোম ডিরেক্টরিটির উপ-ডিরেক্টরি)।

ln -s /opt/android-studio/bin/studio.sh ~/bin/studio

যদি আপনার বিতরণটি /home/ricardo/binআপনার PATH( /home/ricardoআপনার হোম ডিরেক্টরিটি কোথায় ) রাখে না তবে প্রথমে এটি তৈরি mkdir ~/binকরুন এবং এটিতে PATHনিম্নলিখিত লাইনটি যুক্ত করে এটি যুক্ত করুন ~/.profile(ফাইলটি উপস্থিত না থাকলে তৈরি করুন):

PATH=~/bin:$PATH

.profileযখন আপনি লগ ইন ফাইলটি পড়ার। আপনি চলমান করে বর্তমান টার্মিনালে এটা পড়তে পারেন . ~/.profile(এই শুধু তাই টার্মিনাল থেকে শুরু প্রোগ্রাম প্রযোজ্য)।


1
+1 তবে উইনির মন্তব্য হিসাবে, আমি মনে করি যে একটি উপনাম ~/.bashrcআরও সহজবোধ্য হবে।
স্পারহাক

@ স্পারহাক একটি উপনাম কেবল স্ক্রিপ্ট, ডেস্কটপ শর্টকাট বা অন্য কোনও প্রোগ্রাম থেকে নয়, কেবল ইন্টারেক্টিভ শেল থেকে প্রোগ্রামটি চালনার জন্য কাজ করবে।
গিলস 'অশুভ হওয়া বন্ধ করুন'

1
সত্য, তবে প্রশ্নটি জানিয়েছে I would like to type "studio" into the terminalএবং এটি শিরোনাম এবং উদ্ধৃত আদেশগুলি থেকে অন্তর্ভুক্ত।
স্পারহাক

1

আপনার ইচ্ছাটি বাস্তবায়নের সর্বাধিক স্বজ্ঞাত উপায় হ'ল একটি নাম ব্যবহার করা। টাইপ করুন:

alias studio=/opt/android-studio/bin/studio.sh

অথবা। সম্পর্কিত প্রোফাইলে বা আরও ভাল কোনও সম্পর্কিত নাম দিন: আপনার শেলটি $ ENV হিসাবে কী ব্যবহার করে।

মনে রাখবেন যে আপনার এখনও যোগ করার প্রয়োজন হতে পারে

/opt/android-studio/bin

আপনার পাঠ্য সফটওয়্যারটি ব্যবহার করতে সক্ষম হতে। প্রথমে এটি চেষ্টা করা ভাল যে এটি প্রসারিত PATH ব্যতীত কাজ করে কিনা।

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