দেবিয়ান-এ স্টার্টআপ স্ক্রিপ্ট চালানোর চেষ্টা করার সময় এই জাতীয় কোনও ফাইল বা ডিরেক্টরি ত্রুটি নেই


11

ডেবিয়ান (রাস্পবিয়ান) এর কাছে খুব নতুন এবং আমি এই নিয়ে কিছুদিন লড়াই করছি। আমার একটি স্টার্টআপ স্ক্রিপ্ট রয়েছে যা আমি প্রারম্ভকালে চালাতে চাই।

স্ক্রিপ্টটি সম্পাদনযোগ্য করে তোলার জন্য এবং এটি সূচনা ক্রমের সাথে পূর্বনির্ধারিত পরামিতিগুলির সাথে যুক্ত করার জন্য আমি নিম্নলিখিত কমান্ডগুলি সম্পাদন করেছি।

sudo chmod 755 /etc/init.d/testsam
sudo update-rc.d testsam defaults

স্ক্রিপ্টটি পরীক্ষা করার চেষ্টা করার সময় আমি নিম্নলিখিতটি সম্পাদন করি:

sudo /etc/init.d/testsam start

তবে এটি করার সময়, আমি একটি ত্রুটি পেয়েছি: /etc/init.d/testsam সম্পাদন করতে অক্ষম: এই জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই।

আমি স্ক্রিপ্টটিকে খুব বেসিকতে ছোট করে ফেলেছি, তবে এখনও এর আসল কারণটির কোনও চিহ্ন নেই। আমি আশা করি কেউ আমাকে সঠিক সমাধানের দিকে নির্দেশ করতে পারে? এটি বর্তমানে স্ক্রিপ্ট।

#! /bin/bash

# /etc/init.d/testsam

case "$1" in
 start)
        #echo "starting script"
        ;;
 stop)
        #echo "stopping script"
        ;;
 *)
        #echo "Usage: /etc/init.d/testsam {start|stop}"
        exit 1
         ;;
esac

exit 0

কোন সাহায্যের জন্য ধন্যবাদ

উত্তর:


22

^Mআপনার #!লাইনের শেষে সম্ভবত আপনার গাড়ীর রিটার্ন রয়েছে ( ) ।

#!লাইনের ফর্ম্যাটটি অত্যন্ত কঠোর এবং আপনার দোভাষীকে ডাকা না হলে সেখানে বাহন ফেরতের অনুমতি নেই/bin/bash^M

যথাযথ ইউনিক্স সম্পাদক দিয়ে তৈরি করা কোনও ফাইলের মধ্যে ক্যারেজ রিটার্ন কখনই পাওয়া যাবে না, যদি না আপনি এগুলি যুক্ত করার উপায় থেকে সরে যান।

ইতিমধ্যে সিআরএলএফ লাইন শেষ ব্যবহার করে এমন কোনও ফাইল সম্পাদনা করার সময়, ক্যারিজের রিটার্নটি আপনার কাছ থেকে লুকিয়ে থাকতে পারে। উদাহরণস্বরূপ, ভিম তা করে। তবে এটি [dos]আপনাকে স্ট্যাটাস লাইনেও সতর্ক করতে বলে যে ফাইলটি ডস ফর্ম্যাটে রয়েছে। তারপরে আপনি :set fileformat=unixএটি রূপান্তর করতে ফাইলটি বলতে এবং সেভ করতে পারবেন ।


5
এটি আসলে সমস্যা কিনা তা যাচাই করতে, করুন cat -v /etc/inti.d/testsam। আপনার যদি কোনও ভুল গাড়ী চালানো হয় তবে এটি প্রদর্শিত হবে ^M
জেনি ডি

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

কিছু সার্ভারে আমি ব্যবহার dos2unixকরতে পারি তবে হোস্ট যখন সেই আদেশটি সমস্ত দৃষ্টান্ত মুছতে দেয় না তখন আপনি কী করবেন ^M?
ব্যবহারকারী 33777

1
সমস্যাটি সমাধানের আর একটি উপায়:sed -i -e 's/\r//g' /path/file
আল বেলস্কি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.