আমি উবুন্টু ডেস্কটপে একটি শেলের সাথে কাজ করছি, আমি এটির জন্য একটি বিশদ স্পেল চেকও করেছি, তারপরে আমি এটি পরীক্ষা করেই রেখেছি এবং নিশ্চিত করেছি যে প্রতিটি এক লাইন লক্ষ্য হিসাবে কাজ করছে, কয়েকটি ডিরেক্টরি ভুল ছাড়াও (এটি পরিবর্তন করার প্রয়োজন হবে) সার্ভারে), সবকিছু ঠিক আছে বলে মনে হচ্ছে
এবং এখন আমি এটি ওবুন্টু সার্ভারের সাথে একটি পরিষ্কার ভার্চুয়াল মেশিনে চালানোর চেষ্টা করছি, তাই আমি আমার শেলটিতে অ্যাক্সেস পেতে একটি ভাগ করা ফোল্ডার লাগিয়েছি, সমস্ত ব্যবহারকারীর মৃত্যুদন্ড কার্যকর করার অনুমতি দিয়েছি, এবং এটি চালানোর চেষ্টা করেছি এবং অবাক করে দিয়েছি, এটি হয় না মোটেই চালাও
স্ক্রিপ্টটি চালানোর জন্য দোভাষীকে পেতে আমাকে প্রথম লাইন #! / বিন / বাশ মুছে ফেলতে হবে এবং শেলটি চালানোর জন্য ./ এর পরিবর্তে উত্স ব্যবহার করতে হবে (নামযুক্ত মাস্টার.শ)
এবং এখন যে আমি এটি চালাতে পারি আমি এই ত্রুটিটি পেতে থাকি
বিবৃতি যদি ভুল সিনট্যাক্সের জন্য একটি সাধারণ ত্রুটি , আমি জানি যে এটি আমার দ্বারা স্থির করা হয়েছে এবং বানান চেক ব্যবহার করে এটি পরীক্ষা করা হয়েছে
এর পরে আমি ইউনিক্স অক্ষর ব্যবহার করে অন্য কোনও শুদ্ধ করার চেষ্টা করেছি
আমি একটি বাস্তবতার জন্য জানি যে উভয় ওএসই ব্যাশকে দোভাষী হিসাবে ব্যবহার করছে (আমি যাচাই করেছি)
এখানে 2 "আইএফ শর্তাদি" কোডের একটি ন্যূনতম উদাহরণ যা আমি স্ক্রিপ্ট থামানো সনাক্ত করতে পারি, যদি কেউ এটি দেখতে চায়
#!/bin/bash
if [ -e DB_conf ]
then
read -p "Use DB_conf settings? [y/n]: " -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
STUFF
else #This is line 39
STUFF2
fi
else
MORE STUFF
fi
উবুন্টু সার্ভার কেন এই ত্রুটিটি প্রদর্শন করছে তবে ডেস্কটপটি নয় (যেখানে এটি আসলে কাজ করে)?
sed -i 's/\r$//' 02_master.sh
বলে মনে হচ্ছে আসলে আমি কিছু করতে চাইছি তবে আমি সেড পেয়ে যাচ্ছি: একটি অস্থায়ী ফাইল খুলতে পারেনি //sedC35t0D: ফোল্ডারের সমস্ত স্ক্রিপ্টে chmod 777 এর পরেও অনুমতি অস্বীকার করা হয়েছে , আমি মনে করি এটির সাথে কিছু করতে হবে ভার্চুয়াল মেশিন ব্যবহারকারীর ভাগ করা ফোল্ডারের প্রকৃত মালিক হচ্ছেন না
sed
কমান্ড এলএফ শেষা w শ হবে সঙ্গে CRLF লাইন শেষা w শ প্রতিস্থাপনsed -i 's/\r$//' 02_master.sh