प्रक्रिया चलाने की संख्या वापस करने के लिए csh स्क्रिप्ट


0

मैं एक विशेष प्रक्रिया की संख्या निर्धारित करना चाहता हूं जो एक चर पर चल रही है। नीचे csh स्क्रिप्ट की पहली पंक्ति समस्या है क्योंकि यह चर "संख्या" को सेट करता है, जिसके ps aux | grep -c fijiबजाय आउटपुट ps aux | grep -c fiji1 होना चाहिए।

#!/bin/csh

set number = 'ps aux | grep -c fiji'

if ( $number <= 1 ) then
(I run a command here)
else
echo $number
endif

जवाबों:


1

आपको बैकटिक्स (`) का उपयोग करना चाहिए, एकल उद्धरण (') का नहीं। यह लिपि

#!/bin/csh

set number = `ps aux | grep -c fiji`

echo $number

प्रिंट 1


0

सामान्य टिप्पणी: आपका कमांड हमेशा 1 या अधिक वापस आएगा, जिसमें आप grep के लिए चलने वाली प्रक्रिया भी शामिल है। इसलिए आपको मूल्यांकन के बाद इस बात का ध्यान रखना चाहिए, या pgrep जैसी किसी चीज़ का उपयोग करना चाहिए।

और फिर - csh। Http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/ पर एक नजर डालें । और http://www.grymoire.com/Unix/CshTop10.txt

अभी भी csh ;-) का उपयोग करना चाहते हैं?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.