ক্রোন মধ্যে ডাবল উদ্ধৃতি এবং শতাংশ লক্ষণ (%) এড়ানো


75

নিম্নলিখিত কমান্ডটি প্রম্পট থেকে কাজ করে তবে ক্রন্টব থেকে নয়।

 grep abc  /var/log/messages | grep "`date '+%B %d'`" | mail -s"abc log of `hostname`" shantanu.oak+`hostname`@gmail.com

আমার এটি প্রতিদিন ক্রোন যুক্ত করতে হবে।


আপনার উদাহরণটি আশ্চর্যজনক,% চারদিকে ডাবল, সিম্পল এবং ব্যাক কোট দ্বারা বেষ্টিত। কোট পালাবার কাজ হতে পারে এমন কোনও আশা ছাড়াই।
— tuxayo

উত্তর:


126

আপনাকে %লক্ষণগুলি থেকে বাঁচতে হবে । ক্রন্টাবগুলিতে এগুলির একটি বিশেষ অর্থ রয়েছে:

man (5) crontab:

Percent-signs (%) in the command, unless escaped with backslash (\), 
will be changed into newline characters, and all data after the 
first % will be sent to the command as standard input.

7
+1 খুব ইন্টারস্টিয়ারিং, আমি এটিও জানতাম না। অবাক হলাম আমি এর মধ্যে পড়ি না।
— কাইল স্মিথ

3
ঠিক আছে আমি এই মধ্যে চালানো। আমি ব্যবহার করছিলাম date +%Fএবং কোথাও
— পাচ্ছিলাম

2
এই সিনট্যাক্সটির কোনও কার্যকর ব্যবহার আছে? সহ SHELL=/bin/bash, আমি সর্বদা cat %Hello worldহিসাবে আবার লিখতে পারি cat <<<'Hello world'। বিশেষ সিনট্যাক্সের প্রয়োজন দেখছি না।
— উইটিকো

@ উইটিকো যদি আপনি "বিশেষ সিনট্যাক্স" সম্পর্কে জিজ্ঞাসা করছেন তা শতাংশের হাত থেকে বাঁচার ব্যাকস্ল্যাশ হয়, তবে ওপি-র নিজস্ব প্রশ্নটি এটির একটি উদাহরণ যেখানে এটি প্রয়োজন: কমান্ড আর্গুমেন্টগুলির শতকরা প্রয়োজন, বিশেষত তারিখের প্রোগ্রাম, যা একটি বেশ জনপ্রিয় হবে crontab কমান্ড। যদি আপনি প্রকৃতপক্ষে ক্রোনকে এই গোটাচা প্রথম স্থানে কেন জিজ্ঞাসা করছেন: যেমন: শতাংশের জায়গায় বিকল্পগুলি লাইনফিড করেছে, তবে আমি অনুমান করি যে এটি আপনি সরবরাহ করতে পারেন, ক্রন্টাবের যে একটি লাইনে, "কমান্ড" যা দুটি সমন্বয়ে গঠিত হয় বা আরও অধিক সহায়ক কমান্ড।
— বিশ্বব্যাপী

পরেরটি। এবং, যেমনটি আমি বলেছি, ব্যাশ দিয়ে কেউ একই কাজ করতে পারে। ক্রনের সিনট্যাক্স লিটার করার দরকার নেই।
— উইটিকো

7

এটি সরাসরি আপনার প্রশ্নের উত্তর দেয় না, তবে আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি / usr / লোকাল / বিনে (বা ~ / বিন বা যা উপযুক্ত তা) স্ক্রিপ্ট ফাইল তৈরি করুন এবং ক্রোন থেকে কল করুন। এটি পরীক্ষা করা এবং সম্পাদনা করা আরও সহজ।


2
আমার অভিজ্ঞতা হিসাবে, 50 টি ছোট ফাইল বজায় রাখার চেয়ে ক্রন্টবে 50 লাইন বজায় রাখা অনেক সহজ। আপনি লম্বা স্ক্রিপ্টগুলি অবশ্যই স্ক্রিপ্ট ফাইলগুলিতে পরিণত করতে চাইবেন, তবে ওয়ান-লাইনারের পক্ষে এটি করা একটি ওভারকিল হতে পারে।
— উইটিকো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.