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


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.