নোহুপ ব্যবহার করে একাধিক কমান্ড কার্যকর করতে পারেন


41

আমার একাধিক কমান্ড ব্যবহার করে চালানো দরকার nohup। প্রতিটি কমান্ড পূর্ববর্তী কমান্ডের পরে কার্যকর করা উচিত।

আমি এই আদেশটি উদাহরণ হিসাবে ব্যবহার করেছি:

nohup wget $url && wget $url2 > /dev/null 2>&1 &

তবে সেই আদেশটি কার্যকর হয়নি।

এই উদ্দেশ্যে আমার কোন আদেশ ব্যবহার করা উচিত?

উত্তর:


55

এটি মোড়ানো sh -c:

nohup sh -c 'wget "$0" && wget "$1"' "$url1" "$url2" > /dev/null &

1
আমি যখন নোহপ চালু করি তখন আমি "নোহুপ: ইনপুট উপেক্ষা করে স্ট্যাডারকে স্টাডাউটে পুনঃনির্দেশিত করি" তাই কি "2> & 1" অনর্থক নয়?
হার্ডসওয়্যার

1
সম্ভবত। আমি মনে করি আমি যখন উত্তরটি লিখলাম তখন আমি কেবল প্রশ্নটি থেকে এটি অনুলিপি করেছি।
jw013

6

কোনও পৃথক শেল ফাইলে আপনার কমান্ডের তালিকা তৈরি করা কি আরও সহজ হবে না, যেমন কোনও আদেশ ছাড়াই কমান্ড.শ,।

তারপরে আপনি কল করুন:

nohup bash command.sh

4

অন্যরা ইতিমধ্যে সম্পর্কে উত্তর দিয়েছেন nohup। একটি ব্যবহারিক দিক নোট হিসাবে: আমি একটি screenবা tmuxঅধিবেশনের মধ্যে এই জাতীয় জিনিস করার পরামর্শ দিই । এইভাবে আপনি সংযোগ বিচ্ছিন্ন করতে পারেন, তারপরে আবার সংযোগ করুন এবং আউটপুট এবং চূড়ান্ত ফলাফল দেখুন।


1
এই উত্তর ইন্টারেক্টিভ পরিস্থিতিতে জন্য দুর্দান্ত, কিন্তু স্ক্রিপ্ট বা অটোমেশনের জন্য তা বোঝায় না।
জোনাথন হার্টলি

0

এটি এর মতো সহজ হবে:

nohup sh -c "wget $url && wget $url2" > /dev/null 2>&1 &

আপনি যদি ব্যবহার করতে পারেন এমন কোনও নিরাপদ বিকল্পের জন্য যদি URL গুলিতে বিশেষ অক্ষর থাকে তবে এটি সমস্যার কারণ হতে পারে:

nohup sh -c "wget \"$url\" && wget \"$url2\"" > /dev/null 2>&1 &

3
শুধুমাত্র নিরাপদ পথে পরামিতি পাস sh -cপৃথক আর্গুমেন্ট, অবস্থানগত পরামিতি মাধ্যমে অ্যাক্সেস করা যেতে পারে যা মাধ্যমে আছে ( $0, $1, ...)। স্ট্রিং পার্সিংয়ের জন্য যুক্তিগুলি সঠিকভাবে উদ্ধৃত করার সহজ বা সহজ উপায় নেই। পালিয়ে যাওয়া ডাবল কোট ব্যবহারের আপনার প্রচেষ্টা ব্যর্থ হয় যদি $urlএতে ডাবল কোট থাকে। a='problem"'; sh -c "echo \"$a\""নিজেকে চেষ্টা করুন এবং দেখুন - আপনার একটি সিনট্যাক্স ত্রুটি হওয়া উচিত কারণ sh -cচালানোর চেষ্টা করে echo "problem""
jw013

@ jw013 আগ্রহের বাইরেও কি আপনার আপত্তিটি -হো দ্বারা গৃহীত উত্তরের জন্য সমানভাবে প্রযোজ্য? তোমার দ্বারা. সম্ভবত না, তারপর। তবে বুঝতে পারছি না কেন! :-)
জোনাথন হার্টলি

1
@ জোনাথন হার্টলি আমি নিশ্চিত না যে আমি আপনার প্রশ্নটি বুঝতে পেরেছি। আপনি যদি আমার এই উত্তরটি যত্ন সহকারে তুলনা করেন তবে আপনার উপায়টির মধ্যে একটি পার্থক্য লক্ষ্য করা উচিত $urlএবং $url2এটি ব্যবহার করা হবে।
jw013

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