ডেল শেল স্ক্রিপ্ট কল সহ অ্যাপলস্ক্রিপ্টের সাথে ফাইলের তালিকাভুক্ত ফাইলগুলি সরিয়ে দেওয়ার চেষ্টা করা হচ্ছে


2

নীচের কোডটি আমি এই মুহুর্তে কী ব্যবহার করছি তার একটি উদাহরণ, তবে এটি আমার উপর ত্রুটিযুক্ত করে চলে:

do shell script "find /Applications -name 'Bingo.app' > /tmp/remove_files" with administrator privileges
if exists "/tmp_malware_alternate" then
    do shell script ("for i in `cat /tmp/remove_files`; do rm -rf $i") with administrator privileges
    do shell script "rm -rf /tmp/remove_files" with administrator privileges
end if

এটি কোনও ফাইলের অস্তিত্ব খুঁজে পাওয়ার (এই ক্ষেত্রে Bingo.app) সন্ধান করার এবং এটি একটি অস্থায়ী ফাইল (/ tmp / সরানোর_ ফাইলস) এ লিখার কথা , যা এটি করে এবং তারপরে অস্থায়ী ফাইলটি লিখিত হয়েছে কিনা তা পরীক্ষা করে দেখুন। যদি এটি হয় তবে এটি অস্থায়ী ফাইলটি সন্ধান করবে এবং অস্থায়ী ফাইল তালিকার প্রতিটি ফাইল (দ্বারা নির্দিষ্ট করা i) মুছবে , তারপরে অস্থায়ী ফাইলটি নিজেই সরিয়ে ফেলবে।

পরিবর্তে, এর সবকটিই একটি ত্রুটি ফিরে পাওয়া:

/bin/sh: -c: line 1: syntax error: unexpected end of file

অথবা

error "/bin/sh: -c: line 1: syntax error: unexpected end of file" number 2

এতে আমি কী মিস করছি?

উত্তর:


4

আপনাকে forলুপটি বন্ধ করতে হবে :

do shell script ("for i in \`cat /tmp/remove_files\`; do rm -rf $i") with administrator privileges

হতে হবে:

do shell script ("for i in \`cat /tmp/remove_files\`; do rm -rf $i; done") with administrator privileges

1
ওহ, আমি এটি সেভাবে ভাবিনি। আমি আজ রাতে বাড়ি এলে এটি পরীক্ষা করব।
দানিজেল-জেমস ডব্লিউ

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