কিভাবে একটি বাশ স্ক্রিপ্ট লিখতে অপশন গ্রহণ করে?


0

আমি পরীক্ষার উদ্দেশ্যে ব্যবহৃত স্থানীয় ওয়েব সার্ভারটি শুরু করতে আরও সহজ করতে একটি বাশ স্ক্রিপ্ট লিখছি; আমি সবসময় এটি চলমান প্রয়োজন হয় না, এটা আমার প্রয়োজন যখন এটি শুরু করার জন্য আরো দরকারী।

এই মুহূর্তে আমি এটি শুরু করতে নিম্নলিখিত দুটি কমান্ড চালানোর প্রয়োজন

sudo systemctl start apache2  
sudo systemctl start mysql

এবং এই থামাতে

sudo systemctl stop apache2  
sudo systemctl stop mysql

এটি সহজতর করার জন্য, আমি একটি সহজ বাশ স্ক্রিপ্ট লিখেছিলাম, webserver-start, এটি শুরু করতে:

#!/bin/bash

#starts the webserver

sudo systemctl start apache2  
sudo systemctl start mysql

এবং এটি বন্ধ করার অনুরূপ এক।

আমি সবকিছু একক স্ক্রিপ্ট ফাইলে রাখতে চাই, এবং যদি আমি ওয়েব সার্ভারটি শুরু বা বন্ধ করতে (অথবা এমনকি পুনঃসূচনা) করতে চাই তবে কিছু অপশন ব্যবহার করি, এই রকম কিছু: webserver -s শুরুতেই, webserver -p বন্ধ, এবং তাই।

কিভাবে আমি তাদের স্ক্রিপ্টগুলি বিভিন্ন বিকল্পগুলি গ্রহণ করতে এবং তাদের উপর ভিত্তি করে একটি ভিন্ন কাজ সম্পাদন করতে সংশোধন করতে পারি?


টেকনিক্যালি কথা বলা, যারা আর্গুমেন্ট, বিকল্প নয়। বিকল্পগুলি - অথবা - প্রতি POSIX এর সাথে শুরু হয়। linux.about.com/od/Bash_Scripting_Solutions/a/... এছাড়াও, আপনি একটি LSB init স্ক্রিপ্ট লিখতে চাইছেন, তাই এখানে দেখুন: wiki.debian.org/LSBInitScripts
Frank Thomas

উত্তর:


4

আপনি কি করতে পারেন নিম্নলিখিত:

web.sh:

#!/bin/bash
systemctl $1 apache2 mysql

এই সমাধানটির সুবিধাটি হল আপনি নিম্নলিখিতগুলি করতে পারেন:

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