निम्नलिखित बैश लूप को देखते हुए:
for ((x=1; x<=$y; x++)); do echo $x; done
1
2
3
4
व्यक्तिगत कार्यों को "पृष्ठभूमि" कैसे करें?
09:25:58/~ $for ((x=1; x<=$y; x++)); do echo $xi &; done
-sh: syntax error near unexpected token `;"
मैंने "बैश" को इको करने की कोशिश की और यह भी काम नहीं किया:
09:26:37/~ $for ((x=1; x<=$y; x++)); do bash -c "echo $x" &; done
-sh: syntax error near unexpected token `;"
उत्तर:
जवाब के लिए 2 № 1दोनों &
तथा ;
शेल में कमांड टर्मिनेटर हैं।
आपको केवल प्रत्येक कमांड को एक बार समाप्त करने की आवश्यकता है। तो दोनों का एक साथ उपयोग न करें:
for ((x=1; x<=$y; x++)); do echo $x & done
आपको दो का उपयोग करके एक ही त्रुटि मिलेगी ;
साथ ही:
$ for ((x=1; x<=$y; x++)); do echo $x ; ; done
-bash: syntax error near unexpected token `;"
ध्यान दें कि उपयोग करने की कोशिश कर रहा है ;;
एक अलग त्रुटि मिलती है क्योंकि ;;
शेल के लिए एक विशेष टोकन है (प्रयोग किया जाता है) case
बयान):
-bash: syntax error near unexpected token `;;"
%start complete_command %% complete_command : list separator | list ; list : list separator_op and_or | and_or ; .... separator_op : "&" | ";" ; separator : separator_op linebreak | newline_list ;
उत्तर № 2 के लिए 1
for ((x=1; x<=$y; x++)); do { echo $x & } ; done
उत्तर № 3 के लिए 1
यह काम करेगा:
for ((x=1; x<=y; x++)); do echo $x & done
ध्यान दें कि कोई नहीं है ;
बाद &
। हालांकि लाइन ब्रेक का उपयोग करना इसे और अधिक पठनीय बना देगा:
for ((x=1; x<=y; x++)); do
echo $x &
done