আমি যখনই একটি .sh ফাইল খুলি, এটি টার্মিনালের পরিবর্তে জিডিটে এটি খুলবে। আমি অনুরূপ কোনো বিকল্প খুঁজে পাচ্ছি না ডান ক্লিক → খুলুন → অন্যান্য অ্যাপ্লিকেশান ... → টার্মিনাল ।
টার্মিনালে এই ফাইলটি কীভাবে খুলব?
ruby foo.rb
আমি যখনই একটি .sh ফাইল খুলি, এটি টার্মিনালের পরিবর্তে জিডিটে এটি খুলবে। আমি অনুরূপ কোনো বিকল্প খুঁজে পাচ্ছি না ডান ক্লিক → খুলুন → অন্যান্য অ্যাপ্লিকেশান ... → টার্মিনাল ।
টার্মিনালে এই ফাইলটি কীভাবে খুলব?
ruby foo.rb
উত্তর:
আপনার স্ক্রিপ্টে কার্য সম্পাদনের অনুমতি দিন:
chmod +x /path/to/yourscript.sh
এবং আপনার স্ক্রিপ্ট চালাতে:
/path/to/yourscript.sh
যেহেতু .
বর্তমান ডিরেক্টরিটিকে বোঝায়: যদি বর্তমান ডিরেক্টরিতে থাকে yourscript.sh
তবে আপনি এটিকে সহজ করতে পারবেন:
./yourscript.sh
bash /path/to/yourscript.sh
তবে আপনার প্রয়োজন নেইchmod +x
. /path/to/yourscript.sh
যদি স্ক্রিপ্টটিতে কিছু পরিবেশের ভেরিয়েবল সেট আপ করতে হয় তবে আপনি ব্যবহার করতে পারেন ।
./path/to/yourscript.sh
(জায়গা ছাড়াই .
)? আমি দেখতে পেলাম যে একটি হ'ল ব্যবহার করা সহজ এবং সহজ ... তবে যাইহোক, এখানে আমার বিকল্পটি রয়েছে যা প্রায় একই রকম করা উচিত ./
, যদিও আপনি কেন ব্যবহার করবেন না তা আমি দেখছি না ./
: (FILENAME=~/rem4space.sh;SLL=$(cat $FILENAME|head -1|sed 's:^#!\(.*\):\1:g');[ ! -z $SLL ] && exec $SLL $FILENAME;sh $FILENAME)
... FILENAME
আপনার পছন্দ অনুসারে সম্পাদনা করুন । এছাড়াও নোট করুন যে sh
কোনও বিকল্প না থাকলে ব্যবহার করা হবে।
ফাইল ম্যানেজার থেকে চালনার জন্য আপনাকে শেল স্ক্রিপ্টগুলি নির্বাহযোগ্য হিসাবে চিহ্নিত করতে হবে:
আপনার .sh
ফাইলটিতে ডান ক্লিক করুন এবং বৈশিষ্ট্য নির্বাচন করুন :
ইন অনুমতিসমূহ ট্যাবে, চেক প্রোগ্রাম হিসাবে ফাইল নির্বাহ অনুমতি দিন :
প্রোপার্টি উইন্ডোটি বন্ধ করুন এবং ফাইলটিতে ডাবল ক্লিক করুন। একটি ডায়ালগ পপ আপ করবে আপনাকে একটি টার্মিনালে স্ক্রিপ্টটি চালনার বিকল্প দেয়:
একটি টার্মিনাল খুলুন এবং .sh
ফাইলটি যেখানে অবস্থিত ফোল্ডারে নেভিগেট করুন। তারপরে টাইপ করুন:
sh <name of file>.sh
আপনি .sh ফাইলটি চালানোর আগে আপনার এটিকে কার্যকর করার প্রয়োজন:
আপনি যে উত্সটি পেয়েছেন সেখান থেকে আপনি যে উত্সটি বিশ্বাস করেছেন তা নিশ্চিত করুন। এটি কোনও ভাইরাস হতে পারে ।
এই সমস্যা আছে। টার্মিনালটি অবিলম্বে বন্ধ হয়ে যাবে এবং আপনি আউটপুটটি দেখতে পারবেন না।
.Sh ফাইলটি কোথায় সন্ধান করুন
ls
এবং cd
কমান্ড ব্যবহার করুনls
বর্তমান ফোল্ডারে ফাইল এবং ফোল্ডারগুলি তালিকাভুক্ত করবে । এটি ব্যবহার করে দেখুন: "ls" টাইপ করুন এবং এন্টার টিপুন।cd
, তারপরে একটি স্পেস এবং তারপরে একটি ফোল্ডার নাম পরে যানcd ..
তবে এক স্তর উপরে চলে যান.Sh ফাইলটি চালান
একবার আপনি এটি চালানোর script1.sh
সাথে উদাহরণস্বরূপ দেখতে পাবেন ls
:
./script.sh
টার্মিনালটিতে শক্তিশালী সরঞ্জামগুলির সমৃদ্ধ সেট রয়েছে যা কমান্ডগুলি টাইপ করে অ্যাক্সেসযোগ্য। পেশাদাররা .sh ফাইলটি টাইপ করে ls
এবং সনাক্ত করে cd
। একবার আপনি সঠিক বর্তমান ফোল্ডারে চলে গেলে আপনি স্ক্রিপ্টটি এভাবে চালাতে পারেন:
./script1.sh
অথবা আপনি চালাতে এবং কোনও ফাইলে আউটপুট পুনর্নির্দেশ করতে পারেন:
./script1.sh > out.txt
অথবা আপনি কীওয়ার্ডগুলির জন্য আউটপুট ফিল্টার করতে পারেন (যেমন "আপেল") তারপরে কোনও ফাইলে পুনঃনির্দেশ করুন:
./script1.sh | grep apples > ./only-apples
কেবলমাত্র কয়েকটি কমান্ড টাইপ করে সেই ফাইলটিতে আপনি করতে পারেন এমন হাজার হাজার জিনিস।
আর একটি, আপনি একটি সাধারণ কমান্ড দিয়ে ইন্টারনেট থেকে একটি ফাইল ডাউনলোড করতে পারেন:
wget www.google.com/images/logos/ps_logo2.png
এবং তারপরে ফাইলটি খুলুন:
shotwell ps_logo2.png
উবুন্টু ১৩.০৪-তে নটিলাসে খোলার এক্সিকিউটেবল ফাইলগুলি এখন ব্যবহারকারীকে মৃত্যুদণ্ড কার্যকর করার অনুরোধ না করে ডিফল্টরূপে জিডাইটে খোলা হয়। ক্লাসিক আচরণ সক্ষম করতে আপনার পছন্দগুলি সামঞ্জস্য করতে হবে:
নটিলাস → সম্পাদনা মেনু → পছন্দসমূহ → আচরণ ট্যাব each প্রতিবার জিজ্ঞাসা করুন নিকটে রেডিও বোতামটি ক্লিক করুন।
ডিরেক্টরিটি যেখানে .sh
ফাইলটি ব্যবহার করে রয়েছে সেখানে যান cd
। এই উদাহরণে আমি আমার sh
ফাইল হিসাবে সংরক্ষণ করেছি~/Desktop/shell_practice/test.sh
প্রথমে pwd
আপনি কোথায় আছেন তা নির্ধারণের জন্য করুন, এবং যদি এটি ফিরে আসে /home/username
( username
আপনার আসল ব্যবহারকারীর নাম কোথায় ), আপনি চালাতে পারেন
cd Desktop/shell/practice
আপনি যদি অন্য কোথাও বলে মনে করেন তবে আপনি পরম পথটি ব্যবহার করতে পারেন
cd ~/Desktop/shell/practice
অথবা
cd $HOME/Desktop/shell/practice
অথবা এমনকি
cd /home/$USER/Desktop/shell/practice
এগুলি একই স্থানটি বর্ণনা করার সমস্ত উপায়। একবার আপনি এটি আপনার স্ক্রিপ্টের স্থানে পৌঁছে দিলে টাইপ করুন
ls
আপনি যদি sh
আউটপুটটিতে ফাইলটি দেখতে পান তবে আপনি এটি কার্যকর করতে ব্যবহার করতে পারেন chmod
। আমার ক্ষেত্রে, মনে রাখবেন, ফাইলের নামটি test.sh
তাই আমি চালাতে পারি
chmod u+x test.sh
এখন যেহেতু আমরা স্ক্রিপ্টের মতো একই ডিরেক্টরিতে আছি, আমরা ফাইলটি তার অবস্থান ./
(ফাইলের নাম থেকে পৃথক করার জন্য একটি পথ বিভাজক দ্বারা অনুসরণ করা বর্তমান ডিরেক্টরি) দিয়ে ফাইলটি চালাতে চাইলে শেলটি নির্দিষ্ট করতে হবে। আমার ফাইলটি চালাতে আমি টাইপ করব:
./test.sh
যদি আপনার স্ক্রিপ্টটি সঠিকভাবে লেখা থাকে তবে এটি ত্রুটি ছাড়াই চলবে ...
2 প্রধান পদক্ষেপ।
টার্মিনালে, ডেস্কটপে ".sh" এক্সটেনশান সহ স্ক্রিপ্ট লিখতে এবং সংরক্ষণ করতে gedit ব্যবহার করুন। (তবে যে কোনও পাঠ্য সম্পাদক ব্যবহার করা যেতে পারে)
নটিলাস খুলুন এবং স্ক্রিপ্ট.শ ফাইলটিতে ডান ক্লিক করুন।
বৈশিষ্ট্যের অধীনে, "এক্সিকিউট করা ফাইলটিকে অনুমতি দিন .."
নটিলাস মেনুতে, ফাইল ক্লিক করুন, তারপরে পছন্দগুলি, তারপরে আচরণ
"খোলার পরে এক্সিকিউটেবল টেক্সট ফাইলগুলি চালান" পরীক্ষা করে দেখুন।
এখন, আপনি যখন ডেস্কটপে ফাইলটি ডাবল ক্লিক করেন, এটি কার্যকর করা উচিত। .
বা প্রয়োজন নেই./
.sh
ফাইলটিতে রাইট-ক্লিক করুন এবং এটি সম্পাদনযোগ্য করুন।
একটি টার্মিনাল খুলুন ( Ctrl+ Alt+ T)।
.sh
টার্মিনাল উইন্ডোতে ফাইলটি টানুন এবং বিস্ময়ে দেখুন।
এটি করার কয়েকটি উপায় রয়েছে।
টার্মিনালে, ব্যাশ ফাইলটি যে ডিরেক্টরিটি ব্যবহার করছে তা অ্যাক্সেস করুন cd
ডিরেক্টরি (ডিরেক্টরি পরিবর্তন করুন)
যাত্রা। cd Downloads
চালান bash <filename>.sh
এটি .run ফাইলগুলির সাথেও কাজ করে। রিথম্বক্স আপডেট করার ক্ষেত্রে এই ওয়েবপৃষ্ঠায় এই ব্যবহারের একটি উদাহরণ রয়েছে ।
টার্মিনালে, বাশ ফাইলটি যে ডিরেক্টরিটিতে রয়েছে সেটিতে নেভিগেট করুন।
চালান chmod +x <filename>.sh
নটিলাসে, ফাইলটি খুলুন।
জন্য উবুন্টু 18.04 আছে একটু পরিমার্জন, হিসাবে আপনি একটি পপ-আপ ডায়ালগ পাবেন না হয়।
সুতরাং আপনার যা করা দরকার তা হ'ল:
ফাইলগুলিতে ডান ক্লিক করুন, পছন্দসমূহ নির্বাচন করুন> আচরণের ট্যাব নির্বাচন করুন> এক্সিকিউটেবল টেক্সট ফাইলের অধীনে 'কী করতে হবে' বিকল্পটি চিহ্নিত করুন।
এখন, আপনি যখন কোনও .sh ফাইলটিতে ডাবল ক্লিক করেন, আপনি একটি পপআপ পাবেন, সেখানে আপনি আপনার .sh ফাইলটি চালানোর জন্য "রান ইন টার্মিনাল" বিকল্পটি নির্বাচন করতে পারেন।
উবুন্টু 16.04 এ এটি টার্মিনালে এটি কীভাবে খুলতে হবে:
যান File Manager > Edit > Preferences > Behavior
জন্য Executable Text Files
নির্বাচন Ask each time
।
সমস্যাটি হ'ল এটি ডিফল্টরূপে সেট হয়েছে View Executable Files when they are opened
।
আপনি যদি আপনার শেল স্ক্রিপ্ট বা অন্য নির্বাহযোগ্যকে আপনি / usr / স্থানীয় / বিনে তৈরি করেন তবে এটি কমান্ড লাইনে কোনও ফোল্ডার পথ সরবরাহ না করে বা। / নাম যুক্ত করে সন্ধান করা হবে এবং কার্যকর করা হবে। উদাহরণস্বরূপ, ডিস্ক ইউআইডিগুলি প্রদর্শনের জন্য আমি নিম্নলিখিত সহজ 3 লাইন বাশ স্ক্রিপ্ট তৈরি করেছি:
#!/bin/bash
echo "* UUIDs must match in /etc/fstab and /boot/grub/menu.lst"
sudo blkid
আমি ফাইলটিকে ইউইড বলেছিলাম এবং এটি / ইউএসআর / স্থানীয় / বিনে রেখেছি। কমান্ড লাইনে আমার যা প্রবেশ করা দরকার তা হ'ল:
uuid
ঠিক আছে, আমিও একই সমস্যার মুখোমুখি হয়েছি। আমি .sh ফাইলটি সম্পাদন করতে চেয়েছিলাম এবং এটি গেডিটের সাথে সেন্টোস on এ খোলা হয়েছিল So সুতরাং আমি যা করেছি তা এখানে:
.sh
ফাইলটি সম্পাদন করতে চাইছিলাম তার পথে আমি নেভিগেট করেছি।কয়েকটি বিতরণে আমি যে সমস্যাটি পেয়েছি তা হ'ল তারা নটিলাসে পছন্দসই বিকল্পটি গোপন করেছে তবে জিনোম 3 ব্যবহার করে উবুন্টু এবং অন্যান্য বিতরণগুলিতে এটি ঠিক করা একইভাবে (আক্ষরিকভাবে এটির ফেডোরা সংস্করণটি সম্পন্ন করে আমাকে স্মরণ করিয়ে দেওয়ার জন্য প্রকৃত ফিক্স পোস্ট করা হয়েছে) ভবিষ্যতে কিভাবে)।
ইনস্টল করুন dconf-editor
sudo apt-get install dconf-editor
dconf-editor
আপনি এটি ব্যবহারকারীর অ্যাকাউন্টটি ব্যবহার করে চালান , অর্থাৎ রুট নয়
dconf-editor
নিম্নলিখিত স্কিমা নেভিগেট করুন:
org.gnome.nautilus.preferences
ডিফল্টরূপে না খোলার জন্য ডিফল্ট বিকল্পটি পরিবর্তন করুন:
এই executable-text-activation
ক্লিক শব্দ display
এবং পরিবর্তনask
এটি আপনাকে এগিয়ে যাওয়া ফাইল সম্পাদনা করতে, দেখতে বা চালানোর বিকল্প দেয়
আমি লিনাক্সের নুব এবং আমার ঠিক একই সমস্যা ছিল। অন্য সব ব্যর্থ হলে:
.
অন্যান্য উত্তরের পরামর্শ সহ আপনি কৌশলও ব্যবহার করতে পারেন ।
উদাহরণ স্বরূপ:
chmod +x filename.sh
, ধরে নিলাম আপনি ইতিমধ্যে ফাইলের পথে চলে গেছেন তারপর এই কমান্ডের যে কোনও একটি দিয়ে ফাইলটি চালান:
sh filename.sh
./filename.sh
. filename.sh