আমি কীভাবে এটি তৈরি করতে পারি যাতে আমি একটি নির্দিষ্ট প্রোগ্রাম চালাতে পারি, কেবল কনসোলে এটির নাম লিখে?


17

আমি সম্প্রতি গিট সংগ্রহস্থল থেকে এটি ডাউনলোড করে হালকা টেবিলটি ইনস্টল করেছি এবং একটি ডেস্কটপ লঞ্চার তৈরি করতে এই ওয়েবসাইটের নির্দেশাবলী অনুসরণ করেছি ।

এখন আমি সরাসরি টার্মিনালে টাইপ করে প্রোগ্রামটি চালাতে চাই

LightTable

এবং না

./opt/LightTable/deploy/LightTable

6
@ ব্যবহারকারী 68৮৮186 PATHপরিবেশের ভেরিয়েবলের সাথে অন্তর্ভুক্ত ডিরেক্টরিটি যুক্ত করা প্রায়শই এটি অর্জনের সর্বোত্তম উপায় নয় এবং কখনও কখনও এমনকি সিস্টেমটি ভেঙে দিতে বা সুরক্ষা দুর্বলতা তৈরি করতে পারে। (অন্য যে কোন এক্সিকিউটেবলকে এ থেকে কমান্ডে রূপান্তরিত করা হবে এবং সেই সাথে এটি কোথায় যুক্ত করা PATHহবে তা বিবেচনা করতে হবে।) এখানে উত্তরগুলির সাথে সংক্ষিপ্তভাবে একটি শেল ওরফে যুক্ত করা, যে কেউ এই জাতীয় জটিলতা বিবেচনা করতে চান না তাদের পক্ষে ভাল; এটি আরও নির্দিষ্টভাবে প্রশ্নে নির্দিষ্ট অ্যাপ্লিকেশন অনুসারে তৈরি করা হয়েছে। সুতরাং এটি এই প্রশ্নের সদৃশ নয় যদিও তারা কিছুটা ওভারল্যাপ করে।
এলিয়াহ কাগন

সম্পর্কিত (তবে অগত্যা একটি নকল নয়): কীভাবে আমি আমার পথে একটি ডিরেক্টরি যুক্ত করব?
শেঠ

উত্তর:


20

এটি একটি ছদ্মনাম দিয়ে অশোধিতভাবে সম্পন্ন করা যেতে পারে। আপনি আপনার .bashrcফাইলে একটি লাইন যুক্ত করে একটি স্থায়ী বাশ ওরফে তৈরি করতে পারেন ।

টার্মিনাল রান nano ~/.bashrc

নীচে নীচের লাইনটি যুক্ত করুন:

alias LightTable='/full/path/opt/LightTable/deploy/LightTable'

বিজ্ঞপ্তি আমি এর পরিবর্তে আপনাকে পুরো পথ জুড়েছি .যাতে এটি কোনও কার্যনির্বাহী ডিরেক্টরিতে কাজ করবে। টার্মিনালটি বন্ধ এবং পুনরায় খুলুন বা source ~/.bashrcবাশার্ক ফাইলটি পুনরায় লোড করতে চালান।


7

এটি কোনও প্রাথমিক প্রশ্ন নয়, এটি করার সর্বোত্তম উপায় হ'ল একটি উপকরণ তৈরি করা, উদাহরণ হিসাবে নেটবিন ব্যবহার করুন

টার্মিনাল খুলুন Ctrl+Alt+T

nano ~/.bashrc

ফাইলের নীচে এটি লিখুন:

alias netbeans='/home/john/netbeans-7.0.1/bin/netbeans'

Ctrl + x

Y

Enter

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

এই কমান্ডটি সক্রিয় হওয়ার জন্য আপনাকে টার্মিনালটি আবার খুলতে হবে


আমার নিম্ন সুনামের কারণে আমি ভোট দিতে পারি না, তবে উত্তর দেওয়ার জন্য আপনাকে ধন্যবাদ, এটি খুব দরকারী ছিল
ড্যাপিয়াস

5

আপনি /usr/binযদি এক্সিকিউটেবলের অনুলিপি করার চেষ্টা করতে পারেন তবে এটি যদি একটি সাধারণ এক্সিকিউটেবল প্রোগ্রাম এবং অন্য কোনও ফাইলের উপর নির্ভর করে না। যদি এটি অন্যান্য ফাইলগুলির উপর নির্ভর করে তবে প্রোগ্রামে একটি শর্টকাট কমান্ড তৈরি করা সবচেয়ে ভাল।

আপনি যেখানে উপন্যাসটি তৈরি করবেন তা নিজেই (.bashrc,। প্রোফাইল, ইত্যাদি)। তবে আমি ব্যক্তিগতভাবে আমার সমস্ত পরিবেশগত ভেরিয়েবলগুলিকে আমার .bash_aliasesফাইলে ছেড়ে দিয়েছি (আপনাকে এটি প্রথম স্ট্যান্ডে তৈরি করতে হবে)।

আপনার হোম ফোল্ডারে ফাইলটি .bash_aliases তৈরি করুন এবং আপনার পছন্দমতো এটি সম্পাদনা করুন। তারপরে শর্টকাট তৈরি করতে, আপনি এটি করতে পারেন:

alias LightTable='path_to_opt/LightTable/deploy/LightTable'

ফাইল সংরক্ষণ করুন এবং এটি।

PS: আপনি এলিয়াকে হালকা এবং হালকা হিসাবে রাখতে পারেন যদি L কে বড় হাতছাড়া করতে ভুলে যান বা ক্যাপস্লক দুর্ঘটনাক্রমে সক্রিয় থাকে, তাই আপনাকে আর কমান্ডটি টাইপ করতে হবে না।


আমি আমার স্বল্প খ্যাতির কারণে ভোট দিতে পারি না, তবে উত্তর দেওয়ার জন্য আপনাকে ধন্যবাদ, এটি খুব দরকারী ছিল
ড্যাপিয়াস

এটি এপটির মাধ্যমে ইনস্টল না হওয়া জিনিসগুলিকে /usr/local/binপরিবর্তে রাখার পরামর্শ দেওয়া হচ্ছে। অ্যাপটি /usr/binপ্যাকেজগুলিতে থাকা জিনিসগুলি মুছতে বা প্রতিস্থাপন করা যেতে পারে তবে এতে থাকা জিনিসগুলি /usr/local/binএকা থাকে।
চই টি. রেক্স

3

আমি নিশ্চিত নই যে অন্যান্য উত্তরদাতারা কেন এটিকে পরামর্শ দেয় নি, তবে ওপি আসলে নির্দেশ করেছে যে $PATHপরিবর্তনশীলটিকে প্রিপেন্ড করা আমার পক্ষে যেভাবে অর্জন করা যেত:

echo 'PATH=/opt/LightTable/deploy:$PATH' >> ~/.bash_profile
source ~/.bash_profile

তারপরে চালাও:

LightTable

নোট: আমি তখন ওরফে would LightTableকরতে lighttableব্যবহার কর্মের সুবিধার জন্য: echo 'alias LightTable=lighttable' >> ~/.bash_alias && source ~/.bash_alias
জোনিল্যান্ড 8

2

আমি মনে করি এমন কোনও উপন্যাসের চেয়ে প্রতীকী লিঙ্ক তৈরি করা ভাল। উপনাম পারে আপনার কমান্ড লাইনে বদল যখন আপনি এক চাইনি; একটি সিমিলিংক তৈরি করা আপনার পছন্দমতো প্রোগ্রাম চালানোর অনুমতি দেয়:

sudo ln -s full_path_to_opt/LightTable/deploy/LightTable  /usr/local/bin

এটি / ইউএসআর / স্থানীয় / বিনে শর্টকাট তৈরি করবে (যা ইতিমধ্যে আপনার পাঠে থাকা উচিত!) যেখানে লাইট টেবিলটি আসলে। আপনি যদি "লাইট টেবিল" এর মূলধন অক্ষরগুলি পছন্দ না করেন তবে আপনি এই সিমলিংকেরও নাম পরিবর্তন করতে পারেন তা নোট করুন:

sudo ln -s full_path_to_opt/LightTable/deploy/LightTable  /usr/local/bin/lighttable

কেবলমাত্র রেফারেন্সের জন্য, প্রোগ্রামটি যদি বিশ্রীভাবে ডিজাইন করা হয়েছে, অর্থাৎ কনফিগারেশন ফাইল বা লাইব্রেরি বা যা কিছু না খুঁজে পাওয়ার বিষয়ে অভিযোগ করে, তবে আরও একটি সমাধান যা আরও কার্যকর হতে পারে তা হল একটি র‌্যাপার স্ক্রিপ্ট তৈরি করা। এটি করার জন্য কেবল "হালকা টেবিল" (বা আপনি যা যা পছন্দ করেন) নামক একটি ফাইল তৈরি করুন (এতে আপনি এটি আপাতত চান):

#!/bin/sh
# Simple script to run LightTable
if ! cd full_path_to_opt/LightTable/deploy/LightTable ; then
    echo "$0: error: LightTable directory not found." >&2
    exit 1
fi
exec ./LightTable

এই ফাইলের অনুমতিগুলি পরিবর্তন করুন:

chmod 755 <wrapper_script>

এবং এটি কার্যকর হয় কিনা তা দেখার জন্য এটি সম্পাদন করার চেষ্টা করুন এবং যদি তা হয় তবে এটি / usr / স্থানীয় / বিনে সরান:

sudo mv -i <wrapper_script> /usr/local/bin

আপনার কথাটি সত্য, কিন্তু তিনি যা চেয়েছিলেন তা জবাব দেয়নি। তিনি ফাইলের ফাইল / ওরফে নাম ব্যবহার করে এটি চালানো চেয়েছিলেন
Johnn

1
@ জন: আমি দুঃখিত, পার্থক্যটি কী তা আমি বুঝতে পারি না। আমি প্রোগ্রামটিটির পথ নির্দিষ্ট করে না দিয়ে প্রোগ্রামটি চালানোর জন্য উপায় হিসাবে জিজ্ঞাসা করেছি। আপনি যদি প্রোগ্রামটি চালানোর জন্য জিজ্ঞাসা করছেন তবে শেলটি কোনও উপাধ বা প্যাথ মেকানিজম ব্যবহার করে কিনা তাতে কোনও পার্থক্য নেই। আপনি যদি ফাইলটি দিয়ে অন্য কিছু করতে চান তবে ফাইলের পুরো পথ সরবরাহ করার জন্য একটি উপাস ব্যবহার করা প্রকৃতপক্ষে সর্বোত্তম উপায়, তবে (গুলি) তিনি কেবল ফাইলটি চালাতে চান। আমি কি ভুল করছি?
জোড়োয়ার

না যে আমার ভুল ছিল, আপনার সঠিক।
Johnn

1
@ জন: আহ, ভাল, যাইহোক সমালোচনামূলক চোখের জন্য ধন্যবাদ!
জোরাওয়ার

0

আমি এটি করার চেষ্টা করেছি, যখন আমি উবুন্টুতে শুরু করেছি। আপনি যখন টার্মিনালে লাইট টেবিল রাখেন এটি $PATHডিরেক্টরিতে লাইট টেবিল নামের একটি ফাইল অনুসন্ধান করে । আপনি echo $PATHডিরেক্টরি পেতে পারেন ।

আপনি যদি নিজের লাইটটেবল প্রোগ্রামটি চালাতে চান তবে আপনাকে যা করতে ./opt/LightTable/deploy/LightTableহবে তা হল আপনার হালকা টেবিল ফাইলটি এতে রাখুন /usr/games or /usr/bin.তবে এর জন্য সুপার ব্যবহারকারীর অনুমতি প্রয়োজন

Ctrl + Alt + T দ্বারা টার্মিনালটি খুলুন

তারপর রাখুন

আমি লাইটটেবল ব্যবহার করে একটি শর্টকাট তৈরি করতে পছন্দ করি

sudo ln -s path/to/LightTable  /usr/games/LightTable

তারপরে এস ইউ পাসওয়ার্ডটি রাখুন। তারপরে, আপনি LightTableটার্মিনালটি ব্যবহার করে আপনার প্রোগ্রামটি অ্যাক্সেস করতে পারেন

আপনি লাগাতে পারেন /usr/binঅথবা /usr/local/binপরিবর্তে /usr/games, কিছু যে হয় $PATHডিরেক্টরির, এটা যে মত হতে হবে না, কিন্তু আমি তোমার রাখুন সুপারিশ/usr/local/bin

আমি আপনাকেও lightpathপরিবর্তে আউটপুট ফাইল পরিবর্তন করার পরামর্শ দিচ্ছিLightPath

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