শুরুতে বাশ স্ক্রিপ্ট চালান


19

আমি জানি এই প্রশ্নটি আগে জিজ্ঞাসা করা হয়েছিল, তবে আমি আমার সমস্যার কোনও সমাধান খুঁজে পাচ্ছি না, আমি আমার স্ক্রিপ্টটি প্রারম্ভকালে চালাতে পারি না। এখানে আমার স্ক্রিপ্ট:

#!/bin/bash
iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT 
iptables -A OUTPUT -m state --state NEW -p tcp --sport 22 -j ACCEPT

আমি এটি /etc/init.dডিরেক্টরিতে রেখেছি

এটি ব্যবহার করে নির্বাহযোগ্য ছিল তা নিশ্চিত করুন chmod 755 /etc/init.d/iptables.sh

এবং সম্পন্ন touch /etc/rc3.d/S01iptables.sh

তবে কিছুই নয় :( ... কোনও পরামর্শ?

[নভেম্বর 2017] এখানে স্বীকৃত উত্তরটি অপ্রচলিত হিসাবে বিবেচনা করা উচিত, দয়া করে /raspberrypi//a/75057/5538 দেখুন

উত্তর:


12

[দয়া করে এই উত্তরটির অপ্রচলতা সম্পর্কিত প্রশ্নের নোটটি দেখুন]]

আপনার স্ক্রিপ্টটি বুটের অনুক্রমের সাথে যুক্ত করা হয়েছে তা নিশ্চিত করতে এই কমান্ডটি ব্যবহার করে দেখুন:

sudo update-rc.d /etc/init.d/nameofscript.sh defaults

নোট করুন যে আপনি chmod সহ + x বিকল্প ব্যবহার করে একটি স্ক্রিপ্ট কার্যকর করতে পারবেন:

chmod +x /etc/init.d/nameofscript.sh

1
হ্যাঁ update-rc.dকমান্ডটি কাজ করেছিল: ডি ... আমি এটি আগে ব্যবহার করেছি, তবে এটি কেবল একটি ত্রুটি ফিরে

5
এটি sudo update-rc.d nameofscript.sh defaultsঅন্তত জেসির উপর এড়ানো উচিত update-rc.d: error: initscript does not exist: /etc/init.d//etc/init.d/nameofscript.sh
derFunk

এই লিপিটি কি যুক্তিসঙ্গত সময়ের মধ্যেই শেষ করতে হবে? অথবা এটি উদাহরণস্বরূপ অসীমের জন্য কোনও ভিডিও লুপ করতে ব্যবহৃত হতে পারে?
clankill3r

19

এটি শুরুতে চালানোর জন্য আপনি ক্রোনজব সেট করতে পারেন ( টিউটোরিয়াল দেখুন )

(sudo) crontab -e

শুধুমাত্র যোগ sudoআপনার স্ক্রিপ্টটি সুপার-ইউজার অধিকার দরকার পারেন। তারপরে এটিকে আপনার ক্রন্টবে যুক্ত করুন:

@reboot /path/to/script.sh

আমি কোনও স্ক্রিপ্ট আরম্ভ করার জন্য এই পদ্ধতিটি ব্যবহার করেছি এবং এটি কোনও কারণে সমস্ত এসএসএস অ্যাক্সেস বন্ধ করে দিয়েছে। আমাকে অন্য একটি লিনাক্স ডিভাইসে ড্রাইভটি মাউন্ট করতে হয়েছিল এবং ক্রন্টব লাইনটি মন্তব্য করতে হয়েছিল।
ফিলি হিলি

6

আপনি আপনার স্ক্রিপ্টের এক্সিকিউটেবল কমান্ডটি এর নীচে যুক্ত করতে পারবেন প্রতিবার আপনি লগ ইন করলে আপনার স্ক্রিপ্টটি চালানো.bashrc হবে ।

  1. আপনি piফোল্ডারে রয়েছেন তা নিশ্চিত করুন :

    $ cd ~
    
  2. একটি ফাইল তৈরি করুন এবং ফাইলটিতে চালনার জন্য একটি স্ক্রিপ্ট লিখুন:

    $ sudo nano superscript
    
  3. সংরক্ষণ করুন এবং প্রস্থান: Ctrl+ + X, Y,Enter

  4. .bashrcকনফিগারেশনের জন্য খুলুন :

    $ sudo nano .bashrc
    
  5. নীচে স্ক্রোল করুন এবং লাইনটি যুক্ত করুন: ./superscript

  6. সংরক্ষণ করুন এবং প্রস্থান: Ctrl+ + X, Y,Enter


আপনি যদি কনসোলটিতে বুটআপে কাজ করে এমন কোনও সমাধান খুঁজছেন তবে এই লিঙ্কটি একবার দেখুন । বেসিক রুনডাউন:

  1. আপনার স্টার্টআপ স্ক্রিপ্টের জন্য একটি ফাইল তৈরি করুন এবং ফাইলটিতে আপনার স্ক্রিপ্ট লিখুন:

    $ sudo nano /etc/init.d/superscript
    
  2. সংরক্ষণ করুন এবং প্রস্থান: Ctrl+ + X, Y,Enter

  3. স্ক্রিপ্টটি সম্পাদনযোগ্য করুন:

    $ sudo chmod 755 /etc/init.d/superscript
    
  4. শুরুতে চালানোর জন্য স্ক্রিপ্টটি নিবন্ধ করুন:

    $ sudo update-rc.d superscript defaults
    

আপনি যদি এলএক্সডিইডি পরিবেশে বুট করার সময় কোনও স্ক্রিপ্ট চালাতে চান তবে আপনি এই রাস্পবেরি পাই ফোরাম পোস্টটি একবার দেখে নিতে পারেন :

  1. নেভিগেট করুন ~/.config/lxsession/LXDE-pi

  2. autostartসেই ফোল্ডারে ফাইলটি খুলুন :

    $ sudo nano autostart
    
  3. যোগ @bash /path/to/scriptname &একটি নতুন লাইন। আপনি যদি অজগর স্ক্রিপ্টের মতো কিছু চালাতে চান তবে @python mypython.pyনতুন লাইনে কিছু রাখুন। স্ক্রিপ্ট ফাইল চালানো হবে @./superscript, তবে কোনও কারণে স্ক্রিপ্টটি অসীম লুপে চলে (সম্ভবত এটি থামবে)।

  4. সংরক্ষণ করুন এবং প্রস্থান: Ctrl+ + X, Y,Enter

  5. আপনার রাস্পবেরি পাইটি এলএক্সডিই পরিবেশে পুনরায় চালু করুন।

প্রারম্ভকালে এক্সিকিউট স্ক্রিপ্ট থেকে নেওয়া


1

আমি সাধারণত স্ক্রিপ্টটি সম্পাদন করতে লাইনটি যুক্ত করি /etc/rc.local, উদাহরণস্বরূপ /path/to/my/script.sh &, শেষ লাইনের আগে exit 0। স্ক্রিপ্টটি ফিরে না আসার ক্ষেত্রে ব্যাকগ্রাউন্ডে প্রেরণের জন্য আমি "&" যুক্ত করেছি, অন্যথায় পরবর্তী কমান্ডগুলি কার্যকর করা হবে না।

সুতরাং আপনার ক্ষেত্রে আমি কেবল দুটি লাইন যুক্ত করব

iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT 
iptables -A OUTPUT -m state --state NEW -p tcp --sport 22 -j ACCEPT

/etc/rc.localঠিক আগের শেষে exit 0

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